Cara menjalankan beberapa konfigurasi target parameter dengan Estimator Sumber Daya

Dalam artikel ini, Anda mempelajari cara menjalankan beberapa konfigurasi target parameter dan membandingkannya menggunakan Azure Quantum Resource Estimator.

Untuk informasi tentang cara menjalankan Estimator Sumber Daya, lihat Berbagai cara untuk menggunakan Estimator Sumber Daya.

Prasyarat

Prasyarat berikut diperlukan untuk menjalankan Estimator Sumber Daya:

Untuk menjalankan Q# program di Estimator Sumber Daya, Anda memerlukan hal berikut:

Jika Anda ingin menggunakan Python di Visual Studio Code, Anda juga memerlukan hal berikut:

  • Instal versi terbaru ekstensi Python, dan Jupyter untuk Visual Studio Code.

  • Paket Azure Quantum qsharp terbaru.

    python -m pip install --upgrade qsharp 
    

Untuk mengirimkan pekerjaan ke Estimator Sumber Daya, Anda memerlukan hal berikut:


Batching dengan Estimator Sumber Daya

Azure Quantum Resource Estimator memungkinkan Anda mengirimkan pekerjaan dengan beberapa konfigurasi parameter pekerjaan, juga disebut sebagai item, sebagai satu pekerjaan untuk menghindari menjalankan kembali beberapa pekerjaan pada program kuantum yang sama.

Pekerjaan estimasi sumber daya terdiri dari dua jenis parameter pekerjaan:

  • Parameter target: model qubit, skema QEC, anggaran kesalahan, batasan pada tingkat komponen, dan unit distilasi.
  • Argumen operasi: argumen yang dapat diteruskan ke program (jika titik entri QIR berisi argumen).

Satu item terdiri dari satu konfigurasi parameter pekerjaan, yaitu salah satu konfigurasi target parameter dan argumen operasi. Beberapa item direpresentasikan sebagai array parameter pekerjaan.

Beberapa skenario di mana Anda mungkin ingin mengirimkan beberapa item sebagai satu pekerjaan:

  • Kirim beberapa target parameter dengan argumen operasi yang sama di semua item.
  • Kirim beberapa target parameter dengan argumen operasi yang berbeda di semua item.
  • Bandingkan beberapa hasil dengan mudah dalam format tabular.
  • Bandingkan beberapa hasil dengan mudah dalam bagan.

Jika Anda memperkirakan sumber daya Q# program, Anda dapat menjalankan beberapa konfigurasi target parameter, juga dikenal sebagai batching. Batching dengan Q# dapat dilakukan di Jupyter Notebook di Visual Studio Code.

Anda dapat melakukan estimasi batch dengan meneruskan daftar target parameter ke params parameter qsharp.estimate fungsi. Contoh berikut menunjukkan cara mengirimkan dua konfigurasi target parameter sebagai satu pekerjaan. Konfigurasi pertama menggunakan parameter default target , dan konfigurasi kedua menggunakan qubit_maj_ns_e6 parameter qubit dan floquet_code skema QEC.

Di Jupyter Notebook yang sama dari program Anda Q# , tambahkan sel baru dan jalankan kode berikut ini:

result_batch = qsharp.estimate("RunProgram()", params=
                [{}, # Default parameters
                {
                    "qubitParams": {
                        "name": "qubit_maj_ns_e6"
                    },
                    "qecScheme": {
                        "name": "floquet_code"
                    }
                }])
result_batch.summary_data_frame(labels=["Gate-based ns, 10⁻³", "Majorana ns, 10⁻⁶"])

Anda juga dapat membuat daftar parameter estimasi target menggunakan EstimatorParams kelas . Kode berikut menunjukkan cara mengirimkan enam konfigurasi target parameter sebagai satu pekerjaan.

from qsharp.estimator import EstimatorParams, QubitParams, QECScheme

labels = ["Gate-based µs, 10⁻³", "Gate-based µs, 10⁻⁴", "Gate-based ns, 10⁻³", "Gate-based ns, 10⁻⁴", "Majorana ns, 10⁻⁴", "Majorana ns, 10⁻⁶"]

params = EstimatorParams(num_items=6)
params.error_budget = 0.333
params.items[0].qubit_params.name = QubitParams.GATE_US_E3
params.items[1].qubit_params.name = QubitParams.GATE_US_E4
params.items[2].qubit_params.name = QubitParams.GATE_NS_E3
params.items[3].qubit_params.name = QubitParams.GATE_NS_E4
params.items[4].qubit_params.name = QubitParams.MAJ_NS_E4
params.items[4].qec_scheme.name = QECScheme.FLOQUET_CODE
params.items[5].qubit_params.name = QubitParams.MAJ_NS_E6
params.items[5].qec_scheme.name = QECScheme.FLOQUET_CODE

qsharp.estimate("RunProgram()", params=params).summary_data_frame(labels=labels)

Catatan

Jika Anda mengalami masalah saat bekerja dengan Estimator Sumber Daya, lihat halaman Pemecahan Masalah, atau hubungi AzureQuantumInfo@microsoft.com.