KEMBAR78
Limited support for executing loops with break statements on quantum hardware backends by schweitzpgi · Pull Request #768 · NVIDIA/cuda-quantum · GitHub
Skip to content

Conversation

@schweitzpgi
Copy link
Collaborator

Add an option to the unrolling pass and unrolling pass pipeline to allow loops with break statements to be fully unrolled, so long as the loop is otherwise, structurally speaking, like a regular counted loop. Since the total number of executions is a variable, the option allows one to selectively enable/disable the unrolling of these variable iteration, constant upper bound loops.

@copy-pr-bot
Copy link

copy-pr-bot bot commented Oct 13, 2023

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@schweitzpgi
Copy link
Collaborator Author

schweitzpgi commented Oct 13, 2023

/ok to test

Command Bot: Processing...

@schweitzpgi
Copy link
Collaborator Author

schweitzpgi commented Oct 13, 2023

/ok to test

Command Bot: Processing...

@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Oct 13, 2023
@schweitzpgi schweitzpgi enabled auto-merge (squash) October 13, 2023 23:13
@schweitzpgi
Copy link
Collaborator Author

schweitzpgi commented Oct 16, 2023

/ok to test

Command Bot: Processing...

Add an option to the unrolling pass and unrolling pass pipeline to allow
loops with `break` statements to be fully unrolled, so long as the loop
is otherwise, structurally speaking, like a regular counted loop. Since
the total number of executions is a variable, the option allows one to
selectively enable/disable the unrolling of these variable iteration,
constant upper bound loops.

Fix bug with default for testing for an invariant loop.

Guard against unrolling a loop with zero iterations.

remove old comment per review
@github-actions
Copy link

CUDA Quantum Docs Bot: A preview of the documentation can be found here.

github-actions bot pushed a commit that referenced this pull request Oct 16, 2023
Copy link
Collaborator

@bmhowe23 bmhowe23 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@schweitzpgi schweitzpgi merged commit 797a50b into NVIDIA:main Oct 16, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Oct 16, 2023
@bettinaheim bettinaheim added this to the release 0.5.0 milestone Nov 15, 2023
@bettinaheim bettinaheim changed the title Extend the cc-loop-unroll pass. Limited support for executing loops with break statements on quantum hardware backends Nov 15, 2023
@bettinaheim bettinaheim added release notes Changes need to be captured in the release notes and removed enhancement New feature or request labels Nov 15, 2023
@schweitzpgi schweitzpgi deleted the ch-unroll.early.exit branch November 21, 2023 17:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

release notes Changes need to be captured in the release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants