Rigetti-szolgáltató
Tipp.
Az első felhasználók automatikusan kapnak 500 USD ingyenes Azure Quantum Credit-krediteket az egyes részt vevő kvantumhardver-szolgáltatókhoz való használatra. Ha felhasználta az összes kreditet, és többre van szüksége, az Azure Quantum Credits programra is jelentkezhet.
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-2 | rigetti.qpu.ankaa-2 | 84 qubit | Rigetti legerősebb elérhető kvantumprocesszora. |
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.
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)
Kvantumszámítógépek
A Rigetti összes nyilvánosan elérhető QPU-je az Azure Quantumon keresztül érhető el. A lista előzetes értesítés nélkül változhat.
Ankaa-2
Egy többlapkás, 84 qubites processzor, amely 2,5-szeres teljesítménybeli javulást kínál más Rigetti QPU-khoz.
- Feladat típusa:
Quantum Program
- Adatformátum:
rigetti.quil.v1
,rigetti.qir.v1
- Célazonosító:
rigetti.qpu.ankaa-2
- Célvégrehajtási profil: QIR Base
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ára használható, pyQuil
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
# qc = get_qpu("Ankaa-2") for submitting to a QPU
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}")
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: