-
Notifications
You must be signed in to change notification settings - Fork 356
Description
Pre-Request Checklist
- I am running the latest versions of pyQuil and the Forest SDK
- I checked to make sure that this feature has not already been requested
Issue Description
pyQuil v4 uses qcs_sdk to provide much of its functionality. qcs_sdk provides at two ways to run a program: either through a set of functions submit and retrieve_results, or through an API around an Executable type.
The Executable API allows accessing the original data returned by QPU or QVM as QPUResultData or QVMResultData, respectively, and also provides a way to use a common processed format called RegisterMap.
The method pyQuil uses, however, is the pair of functions, which directly unpack the gRPC response and repack it into a new, separate Python type with less flexibility.
Proposed Solution
I propose either using the Executable API in the QuantumAbstractMachine implementations for QPU and QVM, or at the very least using the ExecutionData/ResultData types when returning execution results.
Additional References
- This seems related to Mcm measurement buffers #1629
- This will probably require some changes in rigetti/qcs-sdk-rust