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

Merge main to features/qubit-mgmt #2072

Merged

Conversation

bmhowe23
Copy link
Collaborator

@bmhowe23 bmhowe23 commented Aug 9, 2024

Do not squash this commit.

amccaskey and others added 19 commits August 5, 2024 15:54
* fix list vs List

Signed-off-by: Alex McCaskey <[email protected]>

* format fixes

Signed-off-by: Alex McCaskey <[email protected]>

* Ensure the mod1.mod2...UserStruct works in type annotation

Signed-off-by: Alex McCaskey <[email protected]>

* spell check

Signed-off-by: Alex McCaskey <[email protected]>

* remove the need to register types manually

Signed-off-by: Alex McCaskey <[email protected]>

* address pr comments

Signed-off-by: Alex McCaskey <[email protected]>

* add a comment

Signed-off-by: Alex McCaskey <[email protected]>

* address pr comments

Signed-off-by: Alex McCaskey <[email protected]>

* handled unhandled struct type List

Signed-off-by: Alex McCaskey <[email protected]>

* format

Signed-off-by: Alex McCaskey <[email protected]>

* Update to treat structs with quantum types as value types

Signed-off-by: Alex McCaskey <[email protected]>

* Cleanup

Signed-off-by: Alex McCaskey <[email protected]>

* more cleanup

Signed-off-by: Alex McCaskey <[email protected]>

* fix spelling

Signed-off-by: Alex McCaskey <[email protected]>

---------

Signed-off-by: Alex McCaskey <[email protected]>
…A#2044)

* Temp

* Allow passing state pointer to kernels in build mode
* python/tests: new python test, mirroring the C++ draw_tester
* test_draw: working rz adjoint (thx @annagrin)
* ast_bridge: add more numpy constants as suggested in issue NVIDIA#1734
* Combine the checks for 'math' and 'numpy'
* Address review comment
* Python formatting

---------

Co-authored-by: Pradnya Khalate <[email protected]>
This pass performs function specialization by replacing 1 or more
arguments to a function with custom code blocks, which would be constant
expressions in the typical application. This functionality is an
alternative to some of the functionality in the current quake synthesis
pass. Some key differences:

  - It will support substitutions of any argument type.
  - It can be used to replace any permutation of arguments.
  - Substitutions must be type correct.
  - Can be tested from the command-line in full generality.

Add a test that demonstrates the command-line option in action.
…IA#2054)

* fixing ERROR: Cannot set both cmake.minimum_version and cmake.version; use version only for scikit-build-core >= 0.8.

* setting scikit-build-core==0.9.10
…IA#2040)

* [runtime] Implements argument conversions as a runtime library.

These changes add a new `ArgumentConverter` class which will be
used to translate argument values to MLIR code. The code is
meant to be used as a library by the runtime. Argument data will
arrive as raw pointers, so this uses auxiliary type information
to decode the arguments and translate them into constants as
MLIR code that are supported and used on the device side.

* add clang-format off/on to avoid clang-format breaking CHECK lines.

* Fix warning about truncation by making it explicit.

* Update runtime/common/ArgumentConversion.h

Co-authored-by: Thien Nguyen <[email protected]>

* Review comments.

---------

Co-authored-by: Thien Nguyen <[email protected]>
* Checking and throwing error for device memory pointer to the state passsed by the user

* formatting

* adding invalid argument
* copy edits on divisive clustering tutorial
* copy edits to readout error tutorial
* replaced alike with similar
* [core] Modify GKE to generate code to be used exclusively with argument
conversion and argument synthesis.

This is the initial implementation to argument gathering on the C++
side. It changes the autogenerated C++ host entry point to gather the
arguments that are passed in and pass them as a std::vector<void*> to
the runtime for processing. The vector includes only textual arguments
for now. All hidden arguments are ignored.

More work will need to happen to support return values. Since no path is
actually returning arguments, not having this implemented immediately
won't change any behavior.

* Add layout test to verify that we agree with clang++ running under the
covers.
* Do not copy files in the source tree when running tests.

Currently running tests modifies the source tree. This confuses git into
thinking new untracked changes have been created.

These changes nip that in the bud. While we're here, change the
processing of stderr output to use subshells instead of creating a
temporary file.

* Back out the change to not use a temp file, since it doesn't pass error
codes back to the parent shell. sigh. Add a cleanup line to the script.
…et (NVIDIA#2058)

* Add pass to replace individual wires with wires from a wireset

* Add test for wires_to_wireset

* Formatting

* Address feedback

* Split adding wireset and using wireset

* Update test/Quake/wires_to_wireset.qke

Co-authored-by: Ben Howe <[email protected]>

* Fix formatting

* Fix spelling issues

* Rename pass

---------

Co-authored-by: Ben Howe <[email protected]>
Copy link

copy-pr-bot bot commented Aug 9, 2024

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 schweitzpgi merged commit 515d5b1 into NVIDIA:features/qubit-mgmt Aug 9, 2024
6 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Aug 9, 2024
@bmhowe23 bmhowe23 deleted the pr-merge-main-to-feature branch August 9, 2024 21:52
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.