Penyedia Rigetti
Penting
Anda tidak akan bisa menggunakan Kredit Azure Quantum lagi setelah 1 Juni 2025. Jika Anda memiliki sisa saldo Kredit Azure Quantum, pastikan untuk menukarkannya sebelum tanggal ini.
Prosesor kuantum Rigetti adalah mesin universal model gerbang berdasarkan kubit superkonduktor yang dapat disetel. Fitur sistem dan karakteristik perangkat termasuk kemampuan baca-baca yang ditingkatkan, kecepatan dalam waktu pemrosesan kuantum, waktu gerbang cepat untuk beberapa keluarga gerbang yang menjerat, pengambilan sampel cepat melalui pengaturan ulang register aktif, dan kontrol parametrik.
- Penerbit: Rigetti
- ID Penyedia:
rigetti
Penyedia Rigetti menyediakan hal berikut targets :
Nama target | Target ID | Jumlah kubit | Deskripsi |
---|---|---|---|
Quantum Virtual Machine (QVM) | rigetti.sim.qvm | - | Simulator sumber terbuka untuk program Quil, Q#, dan Qiskit. Bebas biaya. |
Ankaa-3 | rigetti.qpu.ankaa-3 | 84 kubit | |
Ankaa-9Q-3 | rigetti.qpu.ankaa-9q-3 | 9 qubit |
Catatan
Simulator dan perangkat keras targets Rigetti tidak mendukung program Cirq.
Rigetti targets sesuai dengan QIR Base profil. Untuk informasi selengkapnya tentang profil ini target dan batasannya, lihat Memahami target jenis profil di Azure Quantum.
Komputer quantum
Semua QPU Rigetti yang tersedia untuk umum tersedia melalui Azure Quantum. Daftar ini dapat berubah tanpa pemberitahuan terlebih dahulu.
Ankaa-3
Prosesor kuantum 84 qubit.
- Jenis Pekerjaan:
Quantum Program
- Format Data:
rigetti.quil.v1
,rigetti.qir.v1
- ID target:
rigetti.qpu.ankaa-3
- Profil Eksekusi Target: QIR Base
Ankaa-9Q-3
Prosesor kuantum 9 qubit.
- Jenis Pekerjaan:
Quantum Program
- Format Data:
rigetti.quil.v1
,rigetti.qir.v1
- ID target:
rigetti.qpu.ankaa-9q-3
- Profil Eksekusi Target: QIR Base
Simulator
Quantum Virtual Machine (QVM) adalah simulator sumber terbuka untuk Quil. menerima rigetti.sim.qvm
targetprogram Quil sebagai teks dan menjalankan program tersebut di QVM yang dihosting di cloud, mengembalikan hasil yang disimulasikan.
- Jenis Pekerjaan:
Simulation
- Format Data:
rigetti.quil.v1
,rigetti.qir.v1
- ID target:
rigetti.sim.qvm
- Profil Eksekusi Target: QIR Base
- Harga: Gratis ($0)
Harga
Untuk melihat paket penagihan Rigetti, kunjungi Harga Azure Quantum.
Format input
Semua Rigetti targets saat ini menerima dua format:
-
rigetti.quil.v1
, yang merupakan teks dari program Quil . -
rigetti.qir.v1
, yang merupakan kode bit QIR.
Semua targets juga mengambil parameter bilangan bulat opsional count
untuk menentukan jumlah bidikan yang akan dijalankan. Jika dihilangkan, program hanya berjalan sekali.
Quil
Semua Rigetti targets menerima rigetti.quil.v1
format input, yang merupakan teks dari program Quil, yang merupakan singkatan dari Quantum Instruction Language. Secara default, program dikompilasi menggunakan quilc sebelum berjalan. Namun, quilc tidak mendukung fitur kontrol tingkat pulsa (Quil-T), jadi jika Anda ingin menggunakan fitur tersebut, Anda harus menyediakan program Native Quil (juga berisi Quil-T) sebagai input dan menentukan parameter skipQuilc: true
input .
Untuk membuat pembuatan program Quil lebih mudah, Anda dapat menggunakan pyQuil
bersama dengan pyquil-for-azure-quantum
paket. Tanpa paket ini, pyQuil
dapat digunakan untuk membuat program Quil tetapi tidak untuk mengirimkannya ke Azure Quantum.
QIR
Semua perangkat keras Rigetti mendukung eksekusi Quantum Intermediate Representation pekerjaan yang sesuai (QIR) dengan QIR Base Profil, v1 sebagai rigetti.qir.v1
. QIR menyediakan antarmuka umum yang mendukung banyak bahasa dan target platform kuantum untuk komputasi kuantum dan memungkinkan komunikasi antara bahasa dan mesin tingkat tinggi. Misalnya, Anda dapat mengirimkan pekerjaan Q#, Quil, atau Qiskit ke perangkat keras Rigetti, dan Azure Quantum secara otomatis menangani input untuk Anda. Untuk informasi selengkapnya, lihat Quantum Intermediate Representation .
Memilih format input yang tepat
Haruskah Anda menggunakan Quil atau bahasa lain yang sesuai dengan QIR? Ini datang ke kasus penggunaan akhir Anda. QIR lebih mudah diakses oleh banyak pengguna, sementara Quil lebih kuat saat ini.
Jika Anda menggunakan Qiskit, Q#, atau toolkit lain yang mendukung generasi QIR, dan aplikasi Anda berfungsi di Rigetti targets melalui Azure Quantum, maka QIR tepat untuk Anda! QIR memiliki spesifikasi yang berkembang pesat, dan Rigetti terus meningkatkan dukungan untuk program QIR yang lebih canggih seiring berjalannya waktu - apa yang tidak dapat dikompilasi hari ini mungkin akan dikompilasi besok.
Di sisi lain, program Quil mengekspresikan serangkaian fungsionalitas lengkap yang tersedia untuk pengguna sistem Rigetti dari platform apa pun termasuk Azure Quantum. Jika Anda ingin menyesuaikan penguraian gerbang kuantum atau program tulis Anda di tingkat pulsa, maka Anda harus bekerja di Quil, karena kemampuan tersebut belum tersedia melalui QIR.
Contoh
Cara term mudah untuk mengirimkan pekerjaan Quil adalah menggunakan pyquil-for-azure-quantum
paket, karena memungkinkan Anda untuk menggunakan alat dan dokumentasi pyQuil
pustaka.
Anda juga dapat membuat program Quil secara manual dan mengirimkannya menggunakan paket secara azure-quantum
langsung.
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}")