30
30
import torch .nn as nn
31
31
import torch .nn .functional as F
32
32
from opt_einsum import contract
33
- from qiskit import IBMQ
33
+ from qiskit_ibm_runtime import QiskitRuntimeService
34
34
from qiskit .exceptions import QiskitError
35
35
from qiskit .providers .aer .noise .device .parameters import gate_error_values
36
36
from torchpack .utils .config import Config
@@ -738,7 +738,6 @@ def get_success_rate(properties, transpiled_circ):
738
738
739
739
return success_rate
740
740
741
-
742
741
def get_provider (backend_name , hub = None ):
743
742
"""
744
743
Get the provider object for a specific backend from IBM Quantum.
@@ -753,13 +752,9 @@ def get_provider(backend_name, hub=None):
753
752
# mass-inst-tech-1 or MIT-1
754
753
if backend_name in ["ibmq_casablanca" , "ibmq_rome" , "ibmq_bogota" , "ibmq_jakarta" ]:
755
754
if hub == "mass" or hub is None :
756
- provider = IBMQ .get_provider (
757
- hub = "ibm-q-research" , group = "mass-inst-tech-1" , project = "main"
758
- )
755
+ provider = QiskitRuntimeService (channel = "ibm_quantum" , instance = "ibm-q-research/mass-inst-tech-1/main" )
759
756
elif hub == "mit" :
760
- provider = IBMQ .get_provider (
761
- hub = "ibm-q-research" , group = "MIT-1" , project = "main"
762
- )
757
+ provider = QiskitRuntimeService (channel = "ibm_quantum" , instance = "ibm-q-research/MIT-1/main" )
763
758
else :
764
759
raise ValueError (f"not supported backend { backend_name } in hub " f"{ hub } " )
765
760
elif backend_name in [
@@ -769,33 +764,25 @@ def get_provider(backend_name, hub=None):
769
764
"ibmq_guadalupe" ,
770
765
"ibmq_montreal" ,
771
766
]:
772
- provider = IBMQ . get_provider ( hub = "ibm-q-ornl" , group = "anl " , project = " csc428" )
767
+ provider = QiskitRuntimeService ( channel = "ibm_quantum " , instance = "ibm-q-ornl/anl/ csc428" )
773
768
else :
774
769
if hub == "mass" or hub is None :
775
770
try :
776
- provider = IBMQ .get_provider (
777
- hub = "ibm-q-research" , group = "mass-inst-tech-1" , project = "main"
778
- )
771
+ provider = QiskitRuntimeService (channel = "ibm_quantum" , instance = "ibm-q-research/mass-inst-tech-1/main" )
779
772
except QiskitError :
780
773
# logger.warning(f"Cannot use MIT backend, roll back to open")
781
774
logger .warning (f"Use the open backend" )
782
- provider = IBMQ . get_provider ( hub = "ibm-q" , group = "open " , project = " main" )
775
+ provider = QiskitRuntimeService ( channel = "ibm_quantum " , instance = "ibm-q/open/ main" )
783
776
elif hub == "mit" :
784
- provider = IBMQ .get_provider (
785
- hub = "ibm-q-research" , group = "MIT-1" , project = "main"
786
- )
777
+ provider = QiskitRuntimeService (channel = "ibm_quantum" , instance = "ibm-q-research/MIT-1/main" )
787
778
else :
788
- provider = IBMQ . get_provider ( hub = "ibm-q" , group = "open " , project = " main" )
779
+ provider = QiskitRuntimeService ( channel = "ibm_quantum " , instance = "ibm-q/open/ main" )
789
780
790
781
return provider
791
782
792
783
793
784
def get_provider_hub_group_project (hub = "ibm-q" , group = "open" , project = "main" ):
794
- provider = IBMQ .get_provider (
795
- hub = hub ,
796
- group = group ,
797
- project = project ,
798
- )
785
+ provider = QiskitRuntimeService (channel = "ibm_quantum" , instance = f"{ hub } /{ group } /{ project } " )
799
786
return provider
800
787
801
788
@@ -1085,4 +1072,4 @@ def clone_model(model_to_clone):#i have to note:this clone_model function was ma
1085
1072
state_dict_minus_shift [key ] += shift_rate
1086
1073
1087
1074
gradient_of_par [idx - 2 ] = (expectation_plus_shift - expectation_minus_shift ) * 0.5
1088
- return gradient_of_par
1075
+ return gradient_of_par
0 commit comments