diff --git a/samples/sampler_test.cpp b/samples/sampler_test.cpp index 6812378..df20bb8 100644 --- a/samples/sampler_test.cpp +++ b/samples/sampler_test.cpp @@ -24,6 +24,8 @@ #include "primitives/backend_sampler_v2.hpp" #ifdef QRMI_ROOT #include "service/qiskit_runtime_service_qrmi.hpp" +#elif defined(SQC_ROOT) +#include "service/qiskit_runtime_service_sqc.hpp" #else #include "service/qiskit_runtime_service_c.hpp" #endif @@ -39,8 +41,13 @@ using namespace Qiskit::compiler; using Sampler = BackendSamplerV2; -int main() +int main(int argc, char** argv) { + std::string backend_name = "ibm_torino"; + if (argc > 1) { + backend_name = argv[1]; + } + int num_qubits = 10; auto qreg = QuantumRegister(num_qubits); auto creg = ClassicalRegister(num_qubits, std::string("meas")); @@ -58,6 +65,9 @@ int main() } circ.measure(qreg, creg); + std::cout << " circuit : " << std::endl; + circ.draw(); + // set $HONE/.qiskit/qiskit-ibm.json // by using Qiskit IBM Runtime // see https://github.com/Qiskit/qiskit-ibm-runtime?tab=readme-ov-file#save-your-account-on-disk @@ -66,11 +76,15 @@ int main() // QISKIT_IBM_TOKEN = "your API key" // QISKIT_IBM_INSTANCE = "your CRN" auto service = QiskitRuntimeService(); - auto backend = service.backend("ibm_torino"); + auto backend = service.backend(backend_name); + auto sampler = Sampler(backend, 100); auto transpiled_circ = transpile(circ, backend); + std::cout << " transpiled circuit : " << std::endl; + transpiled_circ.draw(); + auto job = sampler.run({SamplerPub(transpiled_circ)}); if (job == nullptr) return -1; @@ -120,4 +134,4 @@ int main() } return 0; -} +} \ No newline at end of file diff --git a/samples/transpile_test.cpp b/samples/transpile_test.cpp index 67e7e24..c2f198f 100644 --- a/samples/transpile_test.cpp +++ b/samples/transpile_test.cpp @@ -25,6 +25,8 @@ #ifdef QRMI_ROOT #include "service/qiskit_runtime_service_qrmi.hpp" +#elif defined(SQC_ROOT) +#include "service/qiskit_runtime_service_sqc.hpp" #else #include "service/qiskit_runtime_service_c.hpp" #endif @@ -35,10 +37,14 @@ using namespace Qiskit::providers; using namespace Qiskit::primitives; using namespace Qiskit::compiler; -int main() +int main(int argc, char** argv) { + std::string backend_name = "ibm_torino"; + if (argc > 1) { + backend_name = argv[1]; + } auto service = Qiskit::service::QiskitRuntimeService(); - auto backend = service.backend("ibm_torino"); + auto backend = service.backend(backend_name); QuantumRegister qr(10); ClassicalRegister cr(10); diff --git a/src/providers/sqc_backend.hpp b/src/providers/sqc_backend.hpp index d20a80c..840455c 100644 --- a/src/providers/sqc_backend.hpp +++ b/src/providers/sqc_backend.hpp @@ -49,7 +49,7 @@ class SQCBackend : public BackendV2 { SQCBackend(const std::string name) : BackendV2(name), backend_type_(SQC_RPC_SCHED_QC_TYPE_IBM_DACC), - target_(nullptr) + target_() {} SQCBackend(const SQCBackend& other)