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

[pauli word] Rework the implementation from front to back. #2338

Open
wants to merge 18 commits into
base: main
Choose a base branch
from

Conversation

schweitzpgi
Copy link
Collaborator

This changes the pauli_word implementation to be compatible with std::string, use the core character literal support, which changes the code generation and provides a potential way to perform optimizations on quake.exp_pauli ops.

This PR also does a complete rewrite of the GKE code. The rewrite fuses the C++ host entry point argument processing with the .argsCreator support function. It removes several special cases that are no longer germane as the surface of supported C++ argument types has expanded quite a bit. It is fully backwards compatible with the old argument packing pointer-free format. The .argsCreator function remains highly coupled with the Python implementation and launcher. C++ should use the streamlined launcher as it has greater flexibility.

Fixes tests and updates them to use the hybrid launcher where appropriate. Add new tests.

Description

@schweitzpgi schweitzpgi marked this pull request as draft October 31, 2024 15:15
@schweitzpgi schweitzpgi marked this pull request as ready for review November 6, 2024 22:04
@schweitzpgi schweitzpgi added this to the release 0.9.0 milestone Nov 7, 2024
@schweitzpgi schweitzpgi removed this from the release 0.9.0 milestone Nov 8, 2024
@schweitzpgi schweitzpgi marked this pull request as draft November 8, 2024 21:53
@schweitzpgi schweitzpgi force-pushed the ch-pauli.as.string branch 2 times, most recently from 25a5745 to 7e9926f Compare November 13, 2024 16:48
@schweitzpgi schweitzpgi marked this pull request as ready for review November 13, 2024 16:52
This changes the pauli_word implementation to be compatible
with std::string, use the core character literal support, which
changes the code generation and provides a potential way to
perform optimizations on quake.exp_pauli ops.

This PR also does a complete rewrite of the GKE code. The
rewrite fuses the C++ host entry point argument processing
with the .argsCreator support function. It removes several
special cases that are no longer germane as the surface of
supported C++ argument types has expanded quite a bit. It
is fully backwards compatible with the old argument packing
pointer-free format.  The .argsCreator function remains
highly coupled with the Python implementation and launcher.
C++ should use the streamlined launcher as it has greater
flexibility.

Fixes tests and updates them to use the hybrid launcher where
appropriate. Add new tests.

Signed-off-by: Eric Schweitz <[email protected]>
of booleans to std::vector<bool> so it needs to be undone.

Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
the thunk unpacking code are fixed.

Move functions to static functions.

Add handling of std::vector<bool>. std::vector<bool> is a class that
is distinct from all other std::vector<T> and it needs to be handled
with special code on the host side. (On the device side, it is forced
to look like any other span.)

Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
header files in use.

Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
at library/binding build time.

Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
Kernels need to be able to receive recursively dynamic composable
types. This includes compositions of surface types of vectors
and structs.

Extend the test.

Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
Signed-off-by: Eric Schweitz <[email protected]>
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

Successfully merging this pull request may close these issues.

1 participant