-
Notifications
You must be signed in to change notification settings - Fork 349
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Required prerequisites
- Search the issue tracker to check if your feature has already been mentioned or rejected in other issues.
Describe the feature
We currently only support cudaq::state argument synthesis for executions that are running in the same address space as the synthesis pass, which is not true for remote simulators.
Suggestion:
- Simulation: Synthesize state pointers as constant global vectors of data
- remote sim: rewrite
quake.init_stateto take the synthesized vector fromcudaq::state::from_data. - same-address space sim: Synthesize state pointers as constant integers (optimization)
- remote sim: rewrite
- Quantum devices and emulators: inline kernels that produce the state in
cudaq::get_state, with the arguments passed to it.
Now that we are working on new argument synthesis, the following work needs to be completed:
-
Implement state synthesis for local and remote simulators
-
Implement state synthesis for quantum devices
-
Make sure state synthesis works for c-like function kernels
-
Make sure state synthesis works for c++ kernel builder
-
Make sure state synthesis works for python with hardware targets
-
Make sure state synthesis works for python with remote simulator target
-
Cleanup after new launch is enabled by default:
- Add python remote simulator synthesis tests
- Enable state_init test for NVQC in
.github/workflows/nvqc_regression_tests.yml - Remove
-fkernel-exec-kind=2from tests (see// TODO-FIX-KERNEL-EXEClines in tests) - Re-enable qvector_init_from_vector for NVQC after it supports 8.0
- Disabled in Fix NVQC regression test #2180
- Re-enable qvector_init_from_state.cpp, qvector_init_from_state_lazy.cpp, test_trotter.cpp for NVQC
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request