Hyppää sisältöön

A new version of SD Connect and SD Desktop will be available from Monday, September 28. The major upgrade will introduce significant improvements, but also includes changes that are not compatible with the current version of the service. Click here to review the available support materials.

Warning!

Puhti and Mahti computing services have been decommissioned and no new jobs are accepted or executed on its compute nodes. Puhti and Mahti login nodes and storage services are planned to remain available until 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

Q20-palvelu MyCSC:ssä

Q20-palvelussa on tällä hetkellä joitakin ongelmia projekteille, joilla on Q20-allokaatioita. Jos et löydä Aalto-Q20-palvelua tai kohtaat muita ongelmia, ota yhteyttä CSC:n asiakastukeen osoitteessa servicedesk@csc.fi.

Pulssitason käyttöoikeus

Pulssitason käyttöoikeus antaa käyttäjälle alemman tason hallinnan kvanttitehtäviinsä. Sen sijaan, että tehtävät määriteltäisiin pelkästään piireinä portteja käyttäen, pulssitason käyttöoikeudella käyttäjä hallitsee kvanttitietokoneen ohjauspulsseja. Pulssitason käyttöoikeus sekä VTT Q50:een että Aalto Q20:een otetaan käyttöön IQM Pulla -Python-paketin kautta. IQM Pulla on jo asennettu kunkin kvanttitietokoneen moduuliin. Alta löydät yleiskatsauksen pulssitason tehtävien ajamisesta LUMIsta saatavilla olevilla kvanttitietokoneilla. Edistyneempää dokumentaatiota IQM Pullan käytöstä löytyy IQM:n dokumentaatiosta

Laitekohtaiset arvot

Tämän sivun esimerkeissä käytetään paikkamerkkejä <DEVICE_VALUE>, <QUANTUM_COMPUTER_ID> ja <CORTEX_URL>. Korvaa ne kohdelaitteesi ajonaikaisilla tunnisteilla, jotka on lueteltu Aalto Q20- tai VTT Q50-sivun kohdassa "Runtime identifiers".

Lataa ympäristö

module use /appl/local/quantum/modulefiles    
module load fiqci-vtt-qiskit

Tuo paketit

import os

from qiskit import QuantumCircuit
from qiskit.compiler import transpile
from iqm.iqm_client.util import print_env_vars
from iqm.qiskit_iqm import IQMProvider
from iqm.pulla.pulla import Pulla
from iqm.pulla.utils_qiskit import qiskit_to_pulla, sweep_job_to_qiskit

Määritä Pulla-asiakas ja taustajärjestelmä

DEVICE_CORTEX_URL = os.getenv('<CORTEX_URL>')

p = Pulla(DEVICE_CORTEX_URL, quantum_computer="<QUANTUM_COMPUTER_ID>")

provider = IQMProvider(DEVICE_CORTEX_URL, quantum_computer="<QUANTUM_COMPUTER_ID>")
backend = provider.get_backend()

Määritä kvanttipiiri

qc = QuantumCircuit(3, 3)
qc.h(0)
qc.cx(0, 1)
qc.cx(0, 2)
qc.measure_all()

Transpiloi taustajärjestelmälle

qc_transpiled = transpile(qc, backend=backend, optimization_level=3)

Muunna Pullaan

circuits, compiler = qiskit_to_pulla(p, backend, qc_transpiled)

shots = 100
settings = compiler.get_settings(circuits=circuits)
settings.set_shots(shots)

job_definition, context = compiler.compile(circuits, settings=settings)

Visualisoi pulssiajoitus

Valinnaisesti pulssiajoitus on mahdollista visualisoida ennen tehtävän lähettämistä.

from iqm.pulse.playlist.visualisation.base import inspect_playlist
from IPython.core.display import HTML

HTML(inspect_playlist(job_definition.sweep_definition.playlist, [0]))

Lähetä Pullan kautta

job = p.submit_playlist(job_definition, context=context)
job.wait_for_completion()
qiskit_result = sweep_job_to_qiskit(job, shots=shots)

print(f"Raw results:\n{job.result().circuit_measurement_results}\n")
print(f"Qiskit result counts:\n{qiskit_result.get_counts()}\n")

Ajaminen LUMIn kautta

Ohjeet tehtävän ajamiseen LUMIssa löydät esimerkkieräajoista tai voit käyttää LUMIn selainkäyttöliittymää

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta