Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Microsoft Quantum Development Kit (QDK) mencakup serangkaian simulator kuantum yang memungkinkan Anda menjalankan program kuantum di komputer lokal Anda. Gunakan simulator lokal untuk melakukan iterasi pada program Anda sebelum Anda mengirimkannya untuk berjalan pada target Azure Quantum.
QDK memiliki empat simulator.
- Simulator bersifat jarang
- Simulator Clifford
- Simulator GPU
- Simulator CPU
Simulator bersifat jarang
Simulator sparse adalah simulator default di QDK. Simulator ini mewakili keadaan qubit sebagai vektor jarang untuk memanfaatkan aljabar matriks yang jarang untuk simulasi cepat, terutama untuk program yang tidak banyak menghasilkan keadaan superposisi. Gunakan simulator sparse ketika Anda menginginkan simulasi cepat dari program Q#, OpenQASM, atau Qiskit, atau ketika Anda ingin menampilkan status kuantum program Anda selama simulasi.
Simulator sparse tersedia baik dalam ekstensi QDK untuk Visual Studio Code (VS Code) maupun paket QDKPython. "Simulator ini adalah satu-satunya simulator yang tersedia dalam QDK ekstensi, sehingga pengkompilasi secara otomatis memanggil simulator sparse ketika Anda menjalankan program Q# dan OpenQASM di VS Code." Dengan simulator sparse di VS Code, Anda dapat menggunakan fungsi Q#DumpMachine atau debugger untuk menampilkan vektor status qubit di titik yang berbeda dalam simulasi.
Baik ekstensi VS Code maupun paket Python mendukung model derau untuk simulasi sparse pada program Q# dan OpenQASM. Hanya paket Python yang mendukung simulasi sparse untuk program Qiskit, tetapi tidak mendukung model kebisingan.
Untuk informasi lebih lanjut tentang simulator jarang data, lihat Simulator jarang data.
Simulator Clifford
Simulator Clifford ini cepat dan efisien untuk program dengan hingga ribuan qubit, tetapi hanya dapat mensimulasikan program yang hanya berisi gerbang Clifford. Clifford gerbang adalah komponen umum dari sirkuit koreksi kesalahan. Sekumpulan Clifford gerbang terdiri dari gerbang H, S, dan CX, dan semua gerbang yang dapat dibangun dari tiga gerbang tersebut. Gerbang berikut Clifford adalah komponen umum sirkuit kuantum:
- $X$, $Y$, dan $Z$
- $S$ dan $S^\dagger$
- $H$, atau Hadamard
- $CX$, $CY$, dan $CZ$
- SWAP dan iSWAP
simulator Clifford tersedia dalam paket QDKPython untuk program Q#, OpenQASM, Qiskit, dan QIR, tetapi tidak tersedia dalam ekstensi QDK untuk VS Code.
Simulator GPU
Simulator GPU adalah simulator status penuh yang menggunakan komputer GPU Anda untuk menjalankan banyak bidikan program kuantum Anda secara paralel. Simulator ini dapat menjalankan program yang berisi semua jenis gerbang, tetapi mahal untuk dijalankan. Simulator dapat memodelkan hingga 27 qubit. Kekuatan komputer GPU Anda menentukan performa, tetapi performa optimal untuk program yang memiliki sekitar 20 qubit dan banyak bidikan.
Simulator GPU mengambil QIR atau Qiskit sebagai input, dan tersedia melalui API paket tertentu QDKPython , tetapi bukan ekstensi Visual Studio Code. Ada juga dukungan yang kaya untuk model kebisingan pada semua jenis gerbang atau operasi kuantum.
Simulator CPU
Seperti simulator GPU, simulator CPU adalah simulator dengan status penuh yang dapat menjalankan program yang berisi gerbang kuantum dengan jenis apa pun. Namun, CPU simulator lebih lambat karena tidak dapat menjalankan beberapa bidikan secara paralel. Simulator ini membesar hingga sekitar 25 qubit, tetapi melambat dengan laju eksponensial ketika menambah lebih banyak qubit karena keterbatasan memori. Gunakan CPU simulator ketika komputer Anda tidak memiliki GPU, atau ketika program Anda memiliki beberapa qubit dan Anda tidak menjalankan banyak eksperimen.
Simulator CPU mengambil QIR atau Qiskit sebagai input, dan tersedia melalui API paket tertentu QDKPython , tetapi bukan ekstensi Visual Studio Code. Ada juga dukungan yang kaya untuk model kebisingan pada semua jenis gerbang atau operasi kuantum.
Simulator apa yang harus saya gunakan?
Simulator terbaik untuk digunakan tergantung pada beberapa faktor, seperti:
- Lingkungan pengembangan Anda (Visual Studio Code atau Python)
- Kerangka kerja pemrograman kuantum yang sedang Anda kembangkan
- Kompleksitas program Anda dan jumlah pengambilan gambar
- Kemampuan perangkat keras komputer lokal Anda
- Target Azure Quantum atau perangkat keras kuantum lain yang ingin Anda jalankan program Anda
- Model kebisingan yang ingin Anda buat
Tabel berikut ini meringkas QDK opsi dan kerangka kerja pemrograman kuantum yang dapat Anda gunakan untuk setiap simulator:
| Simulator | Availability | Kerangka kerja yang didukung |
|---|---|---|
| Jarang | ekstensi VS Code dan paket Python | Q#, OpenQASM, Qiskit |
| Clifford | Python Paket | Q#,OpenQASM,Qiskit,QIR |
| GPU | Python Paket | Qiskit, QIR |
| CPU | Python Paket | Qiskit, QIR |
Simulasi dalam QDK ekstensi untuk Visual Studio Code
Simulator sparse adalah satu-satunya simulator yang tersedia dalam QDK ekstensi untuk VS Code. Untuk menggunakan simulator spars, jalankan file Q# atau OpenQASM Anda di Visual Studio Code. Anda dapat menambahkan model kebisingan terbatas ke simulator jarang untuk Q# program di Visual Studio Code, tetapi tidak untuk OpenQASM program.
Simulasi dalam QDKPython paket
Lingkungan pengembangan QDKPython mendukung beberapa kerangka kerja kuantum dan keempat simulator QDK, tetapi tidak semua simulator kompatibel dengan semua kerangka kerja dan API.
Tabel ini menunjukkan simulator yang dapat Anda gunakan untuk setiap Python API yang memanggil QDK simulator, dan kerangka kerja pemrograman yang didukung setiap API:
| Python Antarmuka Pemrograman Aplikasi (API) | Jarang | Clifford | GPU | CPU | Kerangka kerja pemrograman |
|---|---|---|---|---|---|
qsharp.run |
✅ | ✅ | Q# | ||
openqasm.run |
✅ | ✅ | OpenQASM | ||
qiskit.QSharpBackend |
✅ | Qiskit | |||
simulation.NeutralAtomDevice |
✅ | ✅ | ✅ | QIR | |
simulation.NeutralAtomBackend |
✅ | ✅ | ✅ | Qiskit | |
simulation.run_qir |
✅ | ✅ | ✅ | QIR |