IBM Quantum Compute Service QRMI - Examples in C#
Prerequisites#
C compiler/linker, cmake and make
Build the QRMI Rust library
Set environment variables#
Because QRMI is an environment variable driven software library, all
configuration parameters must be specified in environment variables. The
required environment variables are listed below. This example assumes
that a .env file is available under the current directory.
Environment variables |
Descriptions |
|---|---|
|
IBM Quantum Compute Service endpoint
URL (e.g. |
|
IBM Cloud IAM endpoint URL (e.g.``https://iam.cloud.ibm.com``) |
|
IBM Cloud IAM API Key |
|
Cloud Resource Name (CRN) of the
provisioned Quantum Compute
Service instance, starting with
|
|
Execution mode to run the session
in, |
|
The maximum time (in seconds) for
the session to run, subject to
plan limits, default: |
|
(Optional) Cost of the job as the
estimated time it should take to
complete (in seconds). Should not
exceed the cost of the program,
default: |
|
(Optional) Session ID, can be obtanied by acquire function. If exists, used in the target functions. |
Create Qiskit Primitive input file as input#
Refer to this tool to generate. You can customise quantum circuits by editing the code.
Note
Use the file with name ending _params_only.json,
e.g. sampler_input_ibm_torino_params_only.json.
How to build this example#
mkdir build
cd build
cmake ..
make
How to run this example#
./build/quantum_compute_service
quantum_compute_service <backend_name> <primitive input file> <program id>
For example:
export ibm_torino_QRMI_IBM_QCS_ENDPOINT=https://quantum.cloud.ibm.com/api/v1
export ibm_torino_QRMI_IBM_QCS_IAM_ENDPOINT=https://iam.cloud.ibm.com
export ibm_torino_QRMI_IBM_QCS_IAM_APIKEY=your_apikey
export ibm_torino_QRMI_IBM_QCS_SERVICE_CRN=your_instance
./build/quantum_compute_service ibm_torino sampler_input.json sampler