Commit 1a4265ce authored by Gopalakrishnan Meena, Murali's avatar Gopalakrishnan Meena, Murali
Browse files

Updated for qiskit 1.0

parent fa71733d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
#!/bin/bash

export LD_LIBRARY_PATH=/global/common/software/m4454/env_muraligm/envs/env_custom/lib/python3.9/site-packages/nvidia/cuda_runtime/lib:/global/common/software/m4454/env_muraligm/envs/env_custom/lib/python3.9/site-packages/cuquantum/lib:/global/common/software/m4454/env_muraligm/envs/env_custom/lib/python3.9/site-packages/cutensor/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/global/common/software/m4454/env_muraligm/envs/qlsa-solver/lib/python3.11/site-packages/nvidia/cuda_runtime/lib:/global/common/software/m4454/env_muraligm/envs/qlsa-solver/lib/python3.11/site-packages/cuquantum/lib:/global/common/software/m4454/env_muraligm/envs/qlsa-solver/lib/python3.11/site-packages/cutensor/lib:/global/common/software/m4454/env_muraligm/envs/qlsa-solver/lib/python3.11/site-packages/nvidia/nvjitlink/lib:$LD_LIBRARY_PATH
+6 −10
Original line number Diff line number Diff line
@@ -6,8 +6,7 @@ Reference: https://qiskit.org/ecosystem/aer/howtos/running_gpu.html
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
from qiskit.circuit.library import QuantumVolume
from qiskit_ibm_runtime import SamplerV2 as Sampler
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit import transpile
import argparse
import time

@@ -17,26 +16,23 @@ parser.add_argument("--gpu", default=False, action='store_true', help="Use GPU b
parser.add_argument("--gpumultiple", default=False, action='store_true', help="Use multiple GPUs for the backend of Aer simulator.")
args = parser.parse_args()

# Select backend
if args.gpu: backend = AerSimulator(method='statevector', device='GPU')
elif args.gpumultiple: backend = AerSimulator(method='statevector', device='GPU', blocking_enable=True, blocking_qubits=18)
else: backend = AerSimulator(method='statevector')
print(f'Simulator: {backend}')
pm = generate_preset_pass_manager(backend=backend, optimization_level=1)

# Generate circuit and transpile
qubits = args.NUM_QUBITS 
t = time.time()
qc = QuantumVolume(qubits, seed = 0)
qc.measure_all()
qc = transpile(qc, backend)
elpsdt1 = time.time() - t
isa_circuit = pm.run(qc)
# setup Sampler
sampler = Sampler(backend)

# Run circuit
t = time.time()
# Run the job
job = sampler.run([isa_circuit])
# Grab results from the job
result = job.result()
result = backend.run(qc).result()
elpsdt2 = time.time() - t

print(f'N qubits: {qubits}; GPU: {args.gpu}; multiple-GPU: {args.gpumultiple};\nTime elapsed 1:  {int(elpsdt1/60)} min {elpsdt1%60:.2f} sec\nTime elapsed 2:  {int(elpsdt2/60)} min {elpsdt2%60:.2f} sec')