Memahami data hasil Estimator Sumber Daya
Pelajari cara menginterpretasikan dan mengambil parameter output dan diagram Estimator Sumber Daya. Artikel ini menjelaskan cara mengakses hasil Estimator Sumber Daya secara terprogram di Jupyter Notebooks. Jika Anda menjalankan Estimator Sumber Daya di Visual Studio Code dari palet perintah, perintah berikut ini tidak berlaku.
Prasyarat
Lingkungan Python dengan Python dan Pip terinstal.
Versi terbaru Visual Studio Code atau buka VISUAL Code di Web.
Visual Studio Code dengan ekstensi Azure Quantum Development Kit, Python, dan Jupyter terinstal.
Azure Quantum
qsharp
danqsharp-widgets
paket terbaru.python -m pip install --upgrade qsharp qsharp-widgets
Parameter output
Data output Resource Estimator adalah laporan yang dicetak di konsol dan dapat diakses secara terprogram. Misalnya, cuplikan kode berikut menunjukkan cara mengakses parameter estimasi sumber daya.
result['jobParams']
Data output berikut merupakan kemungkinan entri yang dapat diakses secara terprogram.
Parameter output tingkat atas | Jenis data | Deskripsi |
---|---|---|
status |
string | Status pekerjaan, selalu Succeeded . |
jobParams |
dictionary | Parameter target pekerjaan yang diteruskan sebagai input. |
physicalCounts |
dictionary | Perkiraan sumber daya fisik. Untuk informasi selengkapnya, lihat Jumlah fisik. |
physicalCountsFormatted |
dictionary | Perkiraan sumber daya fisik yang diformat untuk ditampilkan dalam data laporan. Untuk informasi selengkapnya, lihat Jumlah fisik yang diformat. |
logicalQubit |
dictionary | Properti kubit logis. Untuk informasi selengkapnya, lihat Kubit logis. |
tfactory |
dictionary | Properti pabrik T. |
logicalCounts |
dictionary | Perkiraan sumber daya logis pra-tata letak. Untuk informasi selengkapnya, lihat Jumlah logis. |
reportData |
dictionary | Membuat data untuk laporan estimasi sumber daya. |
Jumlah fisik
physicalCounts
Kamus berisi entri berikut:
Parameter output | Jenis data | Deskripsi |
---|---|---|
physicalQubits |
number | Jumlah total qubit fisik. |
runtime |
number | Total runtime untuk menjalankan algoritma dalam nanodetik. |
rqops |
number | Jumlah operasi kuantum yang andal per detik (QOPS). |
breakdown |
dictionary | Perincian perkiraan. Untuk informasi selengkapnya, lihat Perincian jumlah fisik. |
Perincian jumlah fisik
breakdown
Kamus physicalCounts
berisi entri berikut:
Parameter output | Jenis data | Deskripsi |
---|---|---|
algorithmicLogicalQubits |
number | Kubit logis yang diperlukan untuk menjalankan algoritma dan tidak menyertakan sumber daya untuk pabrik T. |
algorithmicLogicalDepth |
number | Siklus logis yang diperlukan untuk menjalankan algoritma dan tidak menyertakan sumber daya untuk pabrik T. |
logicalDepth |
number | Jumlah siklus yang mungkin disesuaikan yang dihitung setiap kali waktu eksekusi pabrik T lebih cepat kemudian eksekusi algoritma. |
numTstates |
number | Jumlah status T yang dikonsumsi oleh algoritma. |
clockFrequency |
number | Jumlah siklus logis per detik. |
numTfactories |
number | Jumlah pabrik T (dengan asumsi desain pabrik T yang seragam). |
numTfactoryRuns |
number | Jumlah seberapa sering semua pabrik T paralel harus berjalan. |
physicalQubitsForTfactories |
number | Jumlah qubit fisik untuk semua pabrik T. |
physicalQubitsForAlgorithm |
number | Jumlah qubit fisik untuk tata letak algoritma. |
requiredLogicalQubitErrorRate |
number | Tingkat kesalahan logis yang diperlukan. |
requiredLogicalTstateErrorRate |
number | Tingkat kesalahan status T logis yang diperlukan. |
numTsPerRotation |
number | Jumlah gerbang T per rotasi. |
cliffordErrorRate |
number | Tingkat kesalahan Clifford berdasarkan parameter qubit. |
Jumlah fisik diformat
physicalCountsFormatted
Kamus berisi entri berikut:
Parameter output | Jenis data | Deskripsi |
---|---|---|
runtime |
string | Total runtime sebagai string ramah manusia. |
rqops |
string | Jumlah operasi kuantum andal per detik (QOPS) yang diformat dengan akhiran metrik. |
physicalQubits |
string | Jumlah total qubit fisik dengan akhiran metrik. |
algorithmicLogicalQubits |
string | Algoritma logis qubit dengan akhiran metrik. |
algorithmicLogicalDepth |
string | Kedalaman logis algoritma dengan akhiran metrik. |
logicalDepth |
string | Mungkin disesuaikan kedalaman logis algoritma dengan akhiran metrik. |
numTstates |
string | Jumlah status T dengan akhiran metrik. |
numTfactories |
string | Jumlah salinan pabrik T dengan akhiran metrik. |
numTfactoryRuns |
string | Jumlah eksekusi pabrik T dengan akhiran metrik. |
physicalQubitsForAlgorithm |
string | Jumlah qubit fisik untuk algoritma dengan akhiran metrik. |
physicalQubitsForTfactories |
string | Jumlah qubit fisik untuk pabrik T dengan akhiran metrik. |
physicalQubitsForTfactoriesPercentage |
string | Jumlah kubit fisik untuk semua pabrik T dalam persentase menjadi total. |
requiredLogicalQubitErrorRate |
string | Tingkat kesalahan kubit logis yang diperlukan terpotong. |
requiredLogicalTstateErrorRate |
string | Dipotong tingkat kesalahan status T yang diperlukan. |
physicalQubitsPerLogicalQubit |
string | Jumlah qubit fisik per qubit logis dengan akhiran metrik. |
logicalCycleTime |
string | Waktu siklus logis dari qubit logis sebagai string ramah manusia. |
clockFrequency |
string | Jumlah siklus logis per detik sebagai string ramah manusia. |
logicalErrorRate |
string | Tingkat kesalahan logis terpotong. |
tfactoryPhysicalQubits |
string | Jumlah qubit fisik di pabrik T dengan akhiran metrik (atau pesan bahwa tidak ada pabrik T). |
tfactoryRuntime |
string | Runtime satu pabrik T sebagai string ramah manusia (atau pesan bahwa tidak ada pabrik T). |
numInputTstates |
string | Jumlah status T input (atau pesan bahwa tidak ada pabrik T). |
numUnitsPerRound |
string | Jumlah unit per putaran penyulingan, koma yang dipisahkan dalam string (atau pesan bahwa tidak ada pabrik T). |
unitNamePerRound |
string | Nama unit dari setiap putaran penyulingan, koma dipisahkan dalam string (atau pesan bahwa tidak ada pabrik T). |
codeDistancePerRound |
string | Kode jarak per putaran distilasi, koma dipisahkan dalam string (atau pesan bahwa tidak ada pabrik T). |
physicalQubitsPerRound |
string | Jumlah qubit fisik per putaran distilasi, dipisahkan koma dalam string (atau pesan bahwa tidak ada pabrik T). |
tfactoryRuntimePerRound |
string | Runtime setiap putaran penyulingan, ditampilkan sebagai string ramah manusia yang dipisahkan koma (atau pesan bahwa tidak ada pabrik T). |
tstateLogicalErrorRate |
string | Tingkat kesalahan status T logis terpotong (atau pesan bahwa tidak ada pabrik T). |
logicalCountsNumQubits |
string | Jumlah qubit (pra-tata letak) dengan akhiran metrik. |
logicalCountsTCount |
string | Jumlah gerbang T (pra-tata letak) dengan akhiran metrik. |
logicalCountsRotationCount |
string | Jumlah gerbang rotasi (pra-tata letak) dengan akhiran metrik. |
logicalCountsRotationDepth |
string | Kedalaman rotasi (pra-tata letak) dengan akhiran metrik. |
logicalCountsCczCount |
string | Jumlah gerbang CCZ (pra-tata letak) dengan akhiran metrik. |
logicalCountsCcixCount |
string | Jumlah gerbang CCiX (pra-tata letak) dengan akhiran metrik. |
logicalCountsMeasurementCount |
string | Jumlah pengukuran kubit tunggal (pra-tata letak) dengan akhiran metrik. |
errorBudget |
string | Total anggaran kesalahan terpotong. |
errorBudgetLogical |
string | Anggaran kesalahan terpotong untuk kesalahan logis. |
errorBudgetTstates |
string | Anggaran kesalahan terpotong untuk penyulingan status T yang rusak. |
errorBudgetRotations |
string | Anggaran kesalahan terpotong untuk sintesis rotasi yang rusak. |
numTsPerRotation |
string | Jumlah T yang diformat per rotasi (mungkin Tidak Ada). |
Kubit logis
logicalQubit
Kamus berisi entri berikut:
Parameter output | Jenis data | Deskripsi |
---|---|---|
codeDistance |
number | Jarak kode komputasi untuk qubit logis. |
physicalQubits |
number | Jumlah qubit fisik untuk setiap kubit logis. |
logicalCycleTime |
number | Waktu untuk menjalankan satu operasi logis. |
logicalErrorRate |
number | Tingkat kesalahan logis dari kubit logis. |
Jumlah logika
logicalCounts
Kamus berisi entri berikut:
Parameter output | Jenis data | Deskripsi |
---|---|---|
numQubits |
number | Jumlah qubit pra-tata letak. |
tCount |
number | Nomor pra-tata letak gerbang T. |
rotationCount |
number | Jumlah pra-tata letak gerbang rotasi. |
rotationDepth |
number | Kedalaman rotasi pra-tata letak. |
cczCount |
number | Nomor pra-tata letak gerbang CCZ. |
ccixCount |
number | Jumlah pra-tata letak gerbang CCiX. |
measurementCount |
number | Jumlah pra-tata letak pengukuran kubit tunggal. |
Tip
Jika Anda ingin menggunakan serangkaian jumlah logis yang telah dihitung sebelumnya untuk pekerjaan estimasi sumber daya, Anda dapat menggunakan LogicalCounts
operasi Python untuk meneruskan perkiraan yang diketahui ke Estimator Sumber Daya. Untuk informasi selengkapnya, lihat Cara menggunakan perkiraan yang diketahui dengan Estimator Sumber Daya.
Diagram spasi
Estimasi sumber daya fisik secara keseluruhan terdiri dari jumlah total kubit fisik yang digunakan untuk algoritma dan salinan pabrik T. Anda dapat memeriksa distribusi antara keduanya menggunakan diagram spasi.
Diagram ruang menunjukkan proporsi qubit fisik yang digunakan untuk algoritma dan pabrik T. Perhatikan bahwa jumlah salinan pabrik T berkontribusi pada jumlah qubit fisik untuk pabrik T.
Di Jupyter Notebook, Anda dapat mengakses diagram ruang menggunakan SpaceChart
widget dari qsharp-widgets
paket.
import qsharp
from qsharp_widgets import SpaceChart
SpaceChart(result)
Saat menjalankan beberapa konfigurasi parameter dengan estimasi perlahan target Pareto, Anda dapat memplot diagram ruang untuk solusi tertentu. Misalnya, kode berikut menunjukkan cara memplot diagram ruang untuk konfigurasi pertama parameter dan runtime terpendek ketiga.
SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime
Diagram waktu spasi
Dalam komputasi kuantum, ada tradeoff antara jumlah qubit fisik dan runtime algoritma. Anda dapat mempertimbangkan alokasi kubit fisik sebanyak mungkin untuk mengurangi runtime algoritma. Namun, jumlah qubit fisik dibatasi oleh jumlah kubit fisik yang tersedia di perangkat keras kuantum. Memahami tradeoff antara runtime dan skala sistem adalah salah satu aspek estimasi sumber daya yang lebih penting.
Saat memperkirakan sumber daya algoritma, Anda dapat menggunakan diagram ruang-waktu untuk memvisualisasikan tradeoff antara jumlah qubit fisik dan runtime algoritma.
Catatan
Untuk melihat beberapa kombinasi optimal dalam diagram ruang-waktu, Anda perlu mengatur jenis estimasi ke estimasi perbatasan Pareto. Jika Anda menjalankan Estimator Sumber Daya di Visual Studio Code menggunakan Q#opsi : Hitung Perkiraan Sumber Daya, estimasi perbatasan Pareto diaktifkan secara default.
Diagram ruang-waktu memungkinkan Anda menemukan kombinasi optimal pasangan {number of qubits, runtime} yang memenuhi batasan perangkat keras kuantum. Diagram menunjukkan jumlah qubit fisik dan runtime algoritma untuk setiap pasangan {number of qubits, runtime}.
Untuk menjalankan diagram ruang-waktu di Jupyter Notebook, Anda dapat menggunakan EstimatesOverview
widget dari qsharp-widgets
paket.
import qsharp
from qsharp_widgets import EstimatesOverview
EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])
Tip
Untuk melihat detail estimasi, Anda dapat mengarahkan mouse ke setiap titik dalam diagram.
Diagram ruang-waktu secara khusus berguna saat membandingkan beberapa konfigurasi target parameter untuk algoritma yang sama.
Catatan
Jika Anda mengalami masalah saat bekerja dengan Estimator Sumber Daya, lihat halaman Pemecahan Masalah, atau hubungi AzureQuantumInfo@microsoft.com.