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:
- Najnowsza wersja programu Visual Studio Code lub otwórz program VS Code w sieci Web.
- Najnowsza wersja rozszerzenia zestawu Azure Quantum Development Kit. Aby uzyskać szczegółowe informacje na temat instalacji, zobacz Instalowanie zestawu QDK w programie VS Code.
Jeśli chcesz użyć języka Python w programie VS Code, potrzebne są również następujące elementy:
Zainstaluj najnowszą wersję języka Python i rozszerzeń 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:
- Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz konta platformy Azure, zarejestruj się bezpłatnie i zarejestruj się w celu korzystania z subskrypcji z płatnością zgodnie z rzeczywistym użyciem.
- Obszar roboczy usługi Azure Quantum. Aby uzyskać więcej informacji, zobacz Tworzenie obszaru roboczego usługi Azure Quantum.
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:
- Target parametry: model kubitów, schematy QEC, budżet błędu, ograniczenia dotyczące poziomu składników i jednostek destylowania.
- 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.
Dzielenie zadań na partie przy użyciu różnych języków
Wybierz odpowiednie karty, aby uzyskać przykłady przetwarzania wsadowego narzędzia do szacowania zasobów.
- Przetwarzanie wsadowe za pomocą polecenia Q#
- Przetwarzanie wsadowe za pomocą zestawu Qiskit
- Przetwarzanie wsadowe za pomocą protokołu PyQIR
Jeśli szacujesz zasoby Q# programu, możesz uruchomić wiele konfiguracji parametrów target , nazywanych również dzieleniem na partie. Przetwarzanie wsadowe Q# można wykonać w notesie 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 kubitu qubit_maj_ns_e6
i schematu floquet_code
QEC.
W tym samym notesie 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żesz 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.com