Skip to content

Commit 269e0f2

Browse files
Merge pull request #239 from mit-han-lab/tq_bugfix
Tq bugfix
2 parents 5294366 + d6fffa1 commit 269e0f2

File tree

3 files changed

+12
-25
lines changed

3 files changed

+12
-25
lines changed

.github/workflows/functional_tests.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ jobs:
2525
- name: Install dependencies
2626
run: |
2727
python -m pip install --upgrade pip
28-
python -m pip install flake8 pytest qiskit-aer qiskit-ibmq-provider
2928
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
29+
python -m pip install flake8 pytest qiskit-aer qiskit_ibm_runtime
3030
- name: Lint with flake8
3131
run: |
3232
# stop the build if there are Python syntax errors or undefined names

requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ opt_einsum
88
pathos>=0.2.7
99
pylatexenc>=2.10
1010
pyscf>=2.0.1
11-
qiskit>=0.39.0
11+
qiskit>=0.39.0,<1.0.0
1212
recommonmark
1313

1414
scipy>=1.5.2

torchquantum/util/utils.py

+10-23
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import torch.nn as nn
3131
import torch.nn.functional as F
3232
from opt_einsum import contract
33-
from qiskit import IBMQ
33+
from qiskit_ibm_runtime import QiskitRuntimeService
3434
from qiskit.exceptions import QiskitError
3535
from qiskit.providers.aer.noise.device.parameters import gate_error_values
3636
from torchpack.utils.config import Config
@@ -738,7 +738,6 @@ def get_success_rate(properties, transpiled_circ):
738738

739739
return success_rate
740740

741-
742741
def get_provider(backend_name, hub=None):
743742
"""
744743
Get the provider object for a specific backend from IBM Quantum.
@@ -753,13 +752,9 @@ def get_provider(backend_name, hub=None):
753752
# mass-inst-tech-1 or MIT-1
754753
if backend_name in ["ibmq_casablanca", "ibmq_rome", "ibmq_bogota", "ibmq_jakarta"]:
755754
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")
759756
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")
763758
else:
764759
raise ValueError(f"not supported backend {backend_name} in hub " f"{hub}")
765760
elif backend_name in [
@@ -769,33 +764,25 @@ def get_provider(backend_name, hub=None):
769764
"ibmq_guadalupe",
770765
"ibmq_montreal",
771766
]:
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")
773768
else:
774769
if hub == "mass" or hub is None:
775770
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")
779772
except QiskitError:
780773
# logger.warning(f"Cannot use MIT backend, roll back to open")
781774
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")
783776
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")
787778
else:
788-
provider = IBMQ.get_provider(hub="ibm-q", group="open", project="main")
779+
provider = QiskitRuntimeService(channel = "ibm_quantum", instance = "ibm-q/open/main")
789780

790781
return provider
791782

792783

793784
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}")
799786
return provider
800787

801788

@@ -1085,4 +1072,4 @@ def clone_model(model_to_clone):#i have to note:this clone_model function was ma
10851072
state_dict_minus_shift[key] += shift_rate
10861073

10871074
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

Comments
 (0)