Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unit test failure: test/NVQPP/qir_test_cond_for_break.cpp #781

Closed
2 of 3 tasks
bmhowe23 opened this issue Oct 16, 2023 · 0 comments
Closed
2 of 3 tasks

Unit test failure: test/NVQPP/qir_test_cond_for_break.cpp #781

bmhowe23 opened this issue Oct 16, 2023 · 0 comments
Assignees

Comments

@bmhowe23
Copy link
Collaborator

Required prerequisites

  • Make sure you've read the documentation. Your issue may be addressed there.
  • Search the issue tracker to verify that this hasn't already been reported. +1 or comment there if it has.
  • If possible, make a PR with a failing test to give us a starting point to work on!

Describe the bug

PR #741 added support for the Adaptive Profile, but it added a new test that did not pass yet. The test is marked as XFAIL, which allows the CI to know this is an expected failure. This issue captures that issue and is a placeholder for future work.

Steps to reproduce the bug

Run the commands captured at the top of test/NVQPP/qir_test_cond_for_break.cpp.

Expected behavior

The unit test should be able to successfully run to completion without failure.

Is this a regression? If it is, put the last known working version (or commit) here.

Not a regression

Environment

  • CUDA Quantum version: main
  • Python version: N/A
  • C++ compiler: 16.0.6
  • Operating system: Ubuntu

Suggestions

No response

@schweitzpgi schweitzpgi self-assigned this Oct 16, 2023
schweitzpgi added a commit to schweitzpgi/cuda-quantum that referenced this issue Oct 17, 2023
…asurement.

Due to an interaction between the revised memtoreg pass and loop
unrolling, the test with a mid-circuit measurement and a break statement
still wasn't being unrolled. These changes fix that issue.

Primarily, these changes allow structured operations that accept region
arguments to straddle the fence and allow some values to be promoted as
dominating uses (when only used) while other values to be threaded as
region arguments exactly as before (when written). This change
simplifies the register-semantics IR. There may be a bit of performance
lossage in memtoreg as a result however as promoted values may later be
discovered to be written and the changes will need to be reapplied.
schweitzpgi added a commit to schweitzpgi/cuda-quantum that referenced this issue Oct 17, 2023
…asurement.

Due to an interaction between the revised memtoreg pass and loop
unrolling, the test with a mid-circuit measurement and a break statement
still wasn't being unrolled. These changes fix that issue.

Primarily, these changes allow structured operations that accept region
arguments to straddle the fence and allow some values to be promoted as
dominating uses (when only used) while other values to be threaded as
region arguments exactly as before (when written). This change
simplifies the register-semantics IR. There may be a bit of performance
lossage in memtoreg as a result however as promoted values may later be
discovered to be written and the changes will need to be reapplied.
schweitzpgi added a commit to schweitzpgi/cuda-quantum that referenced this issue Oct 18, 2023
…asurement.

Due to an interaction between the revised memtoreg pass and loop
unrolling, the test with a mid-circuit measurement and a break statement
still wasn't being unrolled. These changes fix that issue.

Primarily, these changes allow structured operations that accept region
arguments to straddle the fence and allow some values to be promoted as
dominating uses (when only used) while other values to be threaded as
region arguments exactly as before (when written). This change
simplifies the register-semantics IR. There may be a bit of performance
lossage in memtoreg as a result however as promoted values may later be
discovered to be written and the changes will need to be reapplied.

Leave static unrolling pass in the kernel builder.
MarkusPfundstein pushed a commit to fermioniq/cuda-quantum that referenced this issue Sep 23, 2024
…asurement. (NVIDIA#787)

Due to an interaction between the revised memtoreg pass and loop
unrolling, the test with a mid-circuit measurement and a break statement
still wasn't being unrolled. These changes fix that issue.

Primarily, these changes allow structured operations that accept region
arguments to straddle the fence and allow some values to be promoted as
dominating uses (when only used) while other values to be threaded as
region arguments exactly as before (when written). This change
simplifies the register-semantics IR. There may be a bit of performance
lossage in memtoreg as a result however as promoted values may later be
discovered to be written and the changes will need to be reapplied.

Leave static unrolling pass in the kernel builder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants