Skip to content

Commit 7a8cfd9

Browse files
committed
feature(quantanium): add quantanium parameters handling
1 parent 7da0c04 commit 7a8cfd9

3 files changed

Lines changed: 23 additions & 6 deletions

File tree

qiskit_scaleway/backends/quantanium/backend.py

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
from qiskit.providers import Options
2020
from qiskit.circuit import QuantumCircuit
21-
from qiskit_scaleway.utils import create_target_from_platform
21+
from qiskit.transpiler import Target
2222

2323
from qiskit_scaleway.backends.quantanium.job import QuantaniumJob
2424
from qiskit_scaleway.backends import BaseBackend
@@ -37,8 +37,8 @@ def __init__(self, provider, client: QaaSClient, platform: QaaSPlatform):
3737
self._options = self._default_options()
3838
self.options.set_validator("shots", (1, platform.max_shot_count))
3939

40-
self._target = create_target_from_platform(platform)
41-
40+
self._target = Target(num_qubits=platform.max_qubit_count)
41+
4242
def __repr__(self) -> str:
4343
return f"<QuantaniumBackend(name={self.name},num_qubits={self.num_qubits},platform_id={self.id})>"
4444

@@ -68,6 +68,7 @@ def run(
6868
else:
6969
job_config[kwarg] = kwargs[kwarg]
7070

71+
job_config["nsamples"] = job_config["shots"]
7172
job_name = f"qj-quantanium-{randomname.get_name()}"
7273

7374
session_id = job_config.get("session_id", None)
@@ -86,7 +87,11 @@ def run(
8687
)
8788

8889
if session_id in ["auto", None]:
89-
session_id = self.start_session(name=f"auto-{self._options.session_name}")
90+
session_id = self.start_session(
91+
name=f"auto-{self._options.session_name}",
92+
max_duration=self._options.get("session_max_duration"),
93+
max_idle_duration=self._options.get("session_max_idle_duration"),
94+
)
9095
assert session_id is not None
9196

9297
job.submit(session_id)
@@ -101,4 +106,12 @@ def _default_options(self):
101106
session_max_duration="59m",
102107
session_max_idle_duration="59m",
103108
shots=1000,
109+
label="pyapi_v1.0",
110+
algorithm="auto",
111+
bitstrings=None,
112+
timelimit=3540,
113+
bonddim=None,
114+
entdim=None,
115+
seed=None,
116+
qasmincludes=None,
104117
)

qiskit_scaleway/backends/quantanium/job.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,12 @@ def submit(self, session_id: str) -> None:
6363
]
6464

6565
# Retrieve run options
66+
quantanium_option = {}
6667
shots = options.pop("shots")
67-
quantanium_option = {"quantanium_target_option": options.pop("option", "")}
68+
69+
for key, value in options.items():
70+
if value is not None:
71+
quantanium_option[key] = value
6872

6973
backend_data = BackendData(
7074
name=self.backend().name,

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ randomname>=0.2.1
44
dataclasses-json>=0.6.4
55
dataclasses>=0.6
66
scaleway-qaas-client>=0.1.23
7-
qio~=0.2.1
7+
qio~=0.2.5

0 commit comments

Comments
 (0)