Rigetti-szolgáltató
Fontos
2025. június 1-je után már nem használhatja Azure Quantum Credits. Ha az Azure Quantum-kreditek fennmaradó egyenlege van, mindenképpen beváltsa ezeket a dátum előtt.
A Rigetti kvantumprocesszorok univerzális, kapumodelles gépek, amelyek tonhalható szupravezető qubiteken alapulnak. A rendszerfunkciók és az eszköz jellemzői közé tartoznak a fokozott olvasási képességek, a kvantumfeldolgozási idő felgyorsítása, a több összecsukható kapucsalád gyors kapuideje, a gyors mintavételezés az aktív regisztráció alaphelyzetbe állításával és a parametrikus vezérléssel.
- Kiadó: Rigetti
- Szolgáltató azonosítója:
rigetti
A Rigetti-szolgáltató a következőket targets teszi elérhetővé:
Célnév | Célazonosító | Qubitek száma | Leírás |
---|---|---|---|
Kvantum virtuális gép (QVM) | rigetti.sim.qvm | - | Nyílt forráskódú szimulátor Quil-, Q#- és Qiskit-programokhoz. Ingyenes. |
Ankaa-3 | rigetti.qpu.ankaa-3 | 84 qubit | |
Ankaa-9Q-3 | rigetti.qpu.ankaa-9q-3 | 9 qubit |
Feljegyzés
A Rigetti-szimulátorok és a hardverek targets nem támogatják a Cirq-programokat.
Rigetti targets egy profilnak felel meg QIR Base . A profilról és annak korlátairól target további információt az Azure Quantum profiltípusainak ismertetése target című témakörben talál.
Kvantumszámítógépek
A Rigetti összes nyilvánosan elérhető QPU- az Azure Quantumon keresztül érhető el. A lista előzetes értesítés nélkül változhat.
Ankaa-3
Egy 84 qubites kvantumprocesszor.
- Feladat típusa:
Quantum Program
- Adatformátum:
rigetti.quil.v1
,rigetti.qir.v1
- Célazonosító:
rigetti.qpu.ankaa-3
- Célvégrehajtási profil: QIR Base
Ankaa-9Q-3
Egy 9 qubites kvantumprocesszor.
- Feladat típusa:
Quantum Program
- Adatformátum:
rigetti.quil.v1
,rigetti.qir.v1
- Célazonosító:
rigetti.qpu.ankaa-9q-3
- Célvégrehajtási profil: QIR Base
Szimulátorok
A Quantum Virtual Machine (QVM) a Quil nyílt forráskódú szimulátora. A rigetti.sim.qvm
target Quil-programot szövegként fogadja el, és a programot a felhőben üzemeltetett QVM-en futtatja, szimulált eredményeket ad vissza.
- Feladat típusa:
Simulation
- Adatformátumok:
rigetti.quil.v1
,rigetti.qir.v1
- Célazonosító:
rigetti.sim.qvm
- Célvégrehajtási profil: QIR Base
- Díjszabás: Ingyenes (0 USD)
Díjszabás
A Rigetti számlázási csomagjának megtekintéséhez látogasson el az Azure Quantum díjszabására.
Bemeneti formátum
Az összes Rigetti targets jelenleg két formátumot fogad el:
-
rigetti.quil.v1
, amely egy Quil-program szövege. -
rigetti.qir.v1
, amely a QIR-bitkód.
A targets futtatandó felvételek számának meghatározásához a választható count
egész szám paramétert is figyelembe kell venni. Ha nincs megadva, a program csak egyszer fut.
Quil
Minden Rigetti targets elfogadja a rigetti.quil.v1
bemeneti formátumot, amely egy Quil-program szövege, amely a Quantum Instruction Language nevet jelenti. Alapértelmezés szerint a programok a quilc használatával vannak lefordítva a futtatás előtt. A quilc azonban nem támogatja az impulzusszint-vezérlési funkciókat (Quil-T), ezért ha használni szeretné ezeket a funkciókat, meg kell adnia egy natív Quil-programot (amely a Quil-T-t is tartalmazza) bemenetként, és meg kell adnia a bemeneti paramétert skipQuilc: true
.
A Quil-program létrehozásának megkönnyítése érdekében a csomaggal együtt használhatjapyQuil
.pyquil-for-azure-quantum
A csomag nélkül quil-programok létrehozásárapyQuil
használható, de nem küldhető el az Azure Quantumba.
QIR
Minden Rigetti-hardver támogatja a (QIR) megfelelő feladatok végrehajtását Quantum Intermediate Representation a QIR Base profillal, v1-ként.rigetti.qir.v1
A QIR egy közös felületet biztosít, amely számos kvantumnyelvet és target platformot támogat a kvantumszámításhoz, és lehetővé teszi a magas szintű nyelvek és gépek közötti kommunikációt. Beküldheti például a Q#, Quil vagy Qiskit feladatokat a Rigetti hardverbe, és az Azure Quantum automatikusan kezeli a bemenetet. További információ: Quantum Intermediate Representation.
A megfelelő bemeneti formátum kiválasztása
Használjon Quil-t vagy más QIR-kompatibilis nyelvet? Ez a végfelhasználási ügyön múlik. A QIR sok felhasználó számára elérhetőbb, míg a Quil ma még hatékonyabb.
Ha Qiskitet, Q#-ot vagy más olyan eszközkészletet használ, amely támogatja a QIR-generációt, és az alkalmazás az Azure Quantumon keresztül működik a Rigettien targets , akkor a QIR önnek megfelelő! A QIR gyorsan fejlődő specifikációval rendelkezik, és a Rigetti folyamatosan növeli a fejlettebb QIR-programok támogatását az idő múlásával – ami ma nem fordítható le, holnap már jól fordítható.
Másrészt a Quil-programok a Rigetti-rendszerek felhasználói számára elérhető funkciók teljes készletét fejezik ki bármely platformról, beleértve az Azure Quantumot is. Ha a kvantumkapuk felbontását szeretné testre szabni, vagy impulzusszinten szeretné írni a programokat, akkor érdemes a Quilben dolgoznia, mert ezek a képességek még nem érhetők el a QIR-en keresztül.
Példák
A Quil-feladatok elküldésének legegyszerűbb módja a pyquil-for-azure-quantum
csomag használata, mivel lehetővé teszi a pyQuil
kódtár eszközeinek és dokumentációjának használatát.
A Quil-programokat manuálisan is létrehozhatja, és közvetlenül a azure-quantum
csomag használatával küldheti el őket.
from pyquil.gates import CNOT, MEASURE, H
from pyquil.quil import Program
from pyquil.quilbase import Declare
from pyquil_for_azure_quantum import get_qpu, get_qvm
# Note that some environment variables must be set to authenticate with Azure Quantum
qc = get_qvm() # For simulation
program = Program(
Declare("ro", "BIT", 2),
H(0),
CNOT(0, 1),
MEASURE(0, ("ro", 0)),
MEASURE(1, ("ro", 1)),
).wrap_in_numshots_loop(5)
# Optionally pass to_native_gates=False to .compile() to skip the compilation stage
result = qc.run(qc.compile(program))
data_per_shot = result.readout_data["ro"]
# Here, data_per_shot is a numpy array, so you can use numpy methods
assert data_per_shot.shape == (5, 2)
ro_data_first_shot = data_per_shot[0]
assert ro_data_first_shot[0] == 1 or ro_data_first_shot[0] == 0
# Let's print out all the data
print("Data from 'ro' register:")
for i, shot in enumerate(data_per_shot):
print(f"Shot {i}: {shot}")