Jak uruchomić wiele konfiguracji parametrów target za pomocą narzędzia do szacowania zasobów

Z tego artykułu dowiesz się, jak uruchomić wiele konfiguracji parametrów target i porównać je przy użyciu narzędzia do szacowania zasobów usługi Azure Quantum.

Aby uzyskać informacje o sposobie uruchamiania narzędzia do szacowania zasobów, zobacz Różne sposoby korzystania z narzędzia do szacowania zasobów.

Wymagania wstępne

Do uruchomienia narzędzia do szacowania zasobów wymagane są następujące wymagania wstępne:

Do uruchamiania Q# programów w narzędziu do szacowania zasobów potrzebne są następujące elementy:

Jeśli chcesz użyć języka Python w programie VS Code, potrzebne są również następujące elementy:

  • Zainstaluj najnowszą wersję rozszerzeń języka Python i programu Jupyter dla programu VS Code.

  • Najnowszy pakiet usługi Azure Quantum qsharp .

    python -m pip install --upgrade qsharp 
    

Aby przesłać zadania do narzędzia do szacowania zasobów, potrzebne są następujące elementy:


Przetwarzanie wsadowe za pomocą narzędzia do szacowania zasobów

Narzędzie do szacowania zasobów usługi Azure Quantum umożliwia przesyłanie zadań z wieloma konfiguracjami parametrów zadania, nazywanymi również elementami, co pozwala uniknąć ponownego uruchamiania wielu zadań w tym samym programie kwantowym.

Zadanie szacowania zasobów składa się z dwóch typów parametrów zadania:

  • Parametry docelowe: model kubitu, schematy QEC, budżet błędu, ograniczenia na poziomie składnika i jednostki gorzelni.
  • Argumenty operacji: argumenty, które można przekazać do programu (jeśli punkt wejścia QIR zawiera argumenty).

Jeden element składa się z jednej konfiguracji parametrów zadania, czyli jednej konfiguracji target parametrów i argumentów operacji. Kilka elementów jest reprezentowanych jako tablica parametrów zadania.

Niektóre scenariusze, w których można przesłać wiele elementów jako jedno zadanie:

  • Prześlij wiele target parametrów z tymi samymi argumentami operacji we wszystkich elementach.
  • Prześlij wiele target parametrów z różnymi argumentami operacji we wszystkich elementach.
  • Łatwe porównywanie wielu wyników w formacie tabelarycznym.
  • Łatwe porównywanie wielu wyników na wykresie.

Jeśli oceniasz zasoby Q# programu, możesz uruchomić wiele konfiguracji parametrów, nazywanych również przetwarzaniem wsadowymtarget. Przetwarzanie wsadowe Q# można wykonać w Jupyter Notebook w programie VS Code.

Szacowanie wsadowe można wykonać, przekazując listę parametrów target do params parametru qsharp.estimate funkcji. W poniższym przykładzie pokazano, jak przesłać dwie konfiguracje parametrów target jako jedno zadanie. Pierwsza konfiguracja używa parametrów domyślnych target , a druga konfiguracja używa parametru qubit_maj_ns_e6 kubitu i schematu floquet_code QEC.

W tej samej Jupyter Notebook programu Q# dodaj nową komórkę i uruchom następujący kod:

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⁻⁶"])

Można również utworzyć listę parametrów szacowania target przy użyciu EstimatorParams klasy . Poniższy kod przedstawia sposób przesyłania sześciu konfiguracji parametrów target jako pojedynczego zadania.

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)

Uwaga

Jeśli wystąpi jakikolwiek problem podczas pracy z narzędziem do szacowania zasobów, zapoznaj się ze stroną Rozwiązywanie problemów lub skontaktuj się z AzureQuantumInfo@microsoft.comprogramem .