Skip to content

Commit 0433fba

Browse files
authored
chore: deprecating ionq.qpu target (#633)
1 parent 7f96bb5 commit 0433fba

19 files changed

+462
-595
lines changed

azure-quantum/azure/quantum/qiskit/backends/__init__.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77

88
from azure.quantum.qiskit.backends.ionq import (
99
IonQBackend,
10-
IonQQPUBackend,
1110
IonQAriaBackend,
1211
IonQSimulatorBackend,
13-
IonQQPUQirBackend,
1412
IonQAriaQirBackend,
1513
IonQForteBackend,
1614
IonQForteQirBackend,

azure-quantum/azure/quantum/qiskit/backends/ionq.py

Lines changed: 0 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,12 @@
3434

3535
__all__ = [
3636
"IonQBackend",
37-
"IonQQPUBackend",
3837
"IonQSimulatorBackend",
3938
"IonQAriaBackend",
4039
"IonQForteBackend",
4140
"IonQQirBackend",
4241
"IonQSimulatorQirBackend",
4342
"IonQSimulatorNativeBackend",
44-
"IonQQPUQirBackend",
45-
"IonQQPUNativeBackend",
4643
"IonQAriaQirBackend",
4744
"IonQForteQirBackend",
4845
"IonQAriaNativeBackend",
@@ -133,38 +130,6 @@ def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
133130
super().__init__(configuration=configuration, provider=provider, **kwargs)
134131

135132

136-
class IonQQPUQirBackend(IonQQirBackendBase):
137-
backend_names = ("ionq.qpu",)
138-
139-
def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
140-
"""Base class for interfacing with an IonQ QPU backend"""
141-
142-
default_config = BackendConfiguration.from_dict(
143-
{
144-
"backend_name": name,
145-
"backend_version": __version__,
146-
"simulator": False,
147-
"local": False,
148-
"coupling_map": None,
149-
"description": "IonQ QPU on Azure Quantum",
150-
"basis_gates": ionq_basis_gates,
151-
"memory": False,
152-
"n_qubits": 11,
153-
"conditional": False,
154-
"max_shots": 10000,
155-
"max_experiments": 1,
156-
"open_pulse": False,
157-
"gates": [{"name": "TODO", "parameters": [], "qasm_def": "TODO"}],
158-
"azure": self._azure_config(),
159-
}
160-
)
161-
logger.info("Initializing IonQQPUQirBackend")
162-
configuration: BackendConfiguration = kwargs.pop(
163-
"configuration", default_config
164-
)
165-
super().__init__(configuration=configuration, provider=provider, **kwargs)
166-
167-
168133
class IonQAriaQirBackend(IonQQirBackendBase):
169134
backend_names = ("ionq.qpu.aria-1", "ionq.qpu.aria-2")
170135

@@ -361,55 +326,6 @@ def _azure_config(self) -> Dict[str, str]:
361326
return config
362327

363328

364-
class IonQQPUBackend(IonQBackend):
365-
backend_names = ("ionq.qpu",)
366-
367-
def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
368-
"""Base class for interfacing with an IonQ QPU backend"""
369-
gateset = kwargs.pop("gateset", "qis")
370-
default_config = BackendConfiguration.from_dict(
371-
{
372-
"backend_name": name,
373-
"backend_version": __version__,
374-
"simulator": False,
375-
"local": False,
376-
"coupling_map": None,
377-
"description": "IonQ QPU on Azure Quantum",
378-
"basis_gates": GATESET_MAP[gateset],
379-
"memory": False,
380-
"n_qubits": 11,
381-
"conditional": False,
382-
"max_shots": 10000,
383-
"max_experiments": 1,
384-
"open_pulse": False,
385-
"gates": [{"name": "TODO", "parameters": [], "qasm_def": "TODO"}],
386-
"azure": self._azure_config(),
387-
"gateset": gateset,
388-
}
389-
)
390-
logger.info("Initializing IonQQPUBackend")
391-
configuration: BackendConfiguration = kwargs.pop(
392-
"configuration", default_config
393-
)
394-
super().__init__(configuration=configuration, provider=provider, **kwargs)
395-
396-
397-
class IonQQPUNativeBackend(IonQQPUBackend):
398-
def __init__(self, name: str, provider: "AzureQuantumProvider", **kwargs):
399-
if "gateset" not in kwargs:
400-
kwargs["gateset"] = "native"
401-
super().__init__(name, provider, **kwargs)
402-
403-
def _azure_config(self) -> Dict[str, str]:
404-
config = super()._azure_config()
405-
config.update(
406-
{
407-
"is_default": False,
408-
}
409-
)
410-
return config
411-
412-
413329
class IonQAriaBackend(IonQBackend):
414330
backend_names = ("ionq.qpu.aria-1", "ionq.qpu.aria-2")
415331

azure-quantum/azure/quantum/target/ionq.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,20 @@
1515

1616
COST_1QUBIT_GATE_MAP = {
1717
"ionq.simulator" : 0.0,
18-
"ionq.qpu" : 0.00003,
1918
"ionq.qpu.aria-1" : 0.0002205,
2019
"ionq.qpu.aria-2" : 0.0002205,
2120
"ionq.qpu.forte-1" : 0.0002205
2221
}
2322

2423
COST_2QUBIT_GATE_MAP = {
2524
"ionq.simulator" : 0.0,
26-
"ionq.qpu" : 0.0003,
2725
"ionq.qpu.aria-1" : 0.00098,
2826
"ionq.qpu.aria-2" : 0.00098,
2927
"ionq.qpu.forte-1" : 0.00098
3028
}
3129

3230
MIN_PRICE_MAP = {
3331
"ionq.simulator" : 0.0,
34-
"ionq.qpu" : 1.0,
3532
"ionq.qpu.aria-1" : 97.5,
3633
"ionq.qpu.aria-2" : 97.5,
3734
"ionq.qpu.forte-1" : 97.5
@@ -47,7 +44,6 @@ def int_to_bitstring(k: int, num_qubits: int, measured_qubit_ids: List[int]):
4744
class IonQ(Target):
4845
"""IonQ target."""
4946
target_names = (
50-
"ionq.qpu",
5147
"ionq.simulator",
5248
"ionq.qpu.aria-1",
5349
"ionq.qpu.aria-2",
@@ -141,10 +137,6 @@ def estimate_cost(
141137
142138
Specify pricing details for your area to get most accurate results.
143139
By default, this function charges depending on the target:
144-
ionq.qpu:
145-
price_1q = 0.00003 USD for a single-qubit gate.
146-
price_2q = 0.0003 USD for a two-qubit gate.
147-
min_price = 1 USD, total minimum price per circuit.
148140
ionq.qpu.aria-1:
149141
price_1q = 0.00022 USD for a single-qubit gate.
150142
price_2q = 0.00098 USD for a two-qubit gate.

0 commit comments

Comments
 (0)