Så här kör du flera konfigurationer av target parametrar med Resource Estimator
I den här artikeln får du lära dig hur du kör flera konfigurationer av parametrar och jämför dem med hjälp av target Azure Quantum Resource Estimator.
Information om hur du kör Resource Estimator finns i Olika sätt att använda Resource Estimator.
Förutsättningar
Följande krav krävs för att köra Resource Estimator:
Om du vill köra Q# program i Resource Estimator behöver du följande:
- Den senaste versionen av Visual Studio Code eller öppna VS Code på webben.
- Den senaste versionen av Azure Quantum Development Kit-tillägget. Installationsinformation finns i Installera QDK på VS Code.
Om du vill använda Python i VS Code behöver du också följande:
Installera den senaste versionen av Python- och Jupyter-tilläggen för VS Code.
Det senaste Azure Quantum-paketet
qsharp
.python -m pip install --upgrade qsharp
Om du vill skicka jobb till Resource Estimator behöver du följande:
- Ett Azure-konto med en aktiv prenumeration. Om du inte har något Azure-konto registrerar du dig kostnadsfritt och registrerar dig för en betala per användning-prenumeration.
- En Azure Quantum-arbetsyta. Mer information finns i Skapa en Azure Quantum-arbetsyta.
Batchbearbetning med resursberäknaren
Med Azure Quantum Resource Estimator kan du skicka jobb med flera konfigurationer av jobbparametrar, även kallade objekt, som ett enda jobb för att undvika att köra flera jobb på samma kvantprogram igen.
Ett resursuppskattningsjobb består av två typer av jobbparametrar:
- Målparametrar: qubitmodell, QEC-scheman, felbudget, begränsningar på komponentnivå och destillationsenheter.
- Åtgärdsargument: argument som kan skickas till programmet (om QIR-startpunkten innehåller argument).
Ett objekt består av en konfiguration av jobbparametrar, som är en konfiguration av target parametrar och åtgärdsargument. Flera objekt representeras som en matris med jobbparametrar.
Vissa scenarier där du kanske vill skicka flera objekt som ett enda jobb:
- Skicka flera target parametrar med samma åtgärdsargument i alla objekt.
- Skicka flera target parametrar med olika åtgärdsargument i alla objekt.
- Jämför enkelt flera resultat i tabellformat.
- Jämför enkelt flera resultat i ett diagram.
Batchbearbetningsjobb med olika språk
Välj önskade flikar för exempel på batchbearbetning med Resource Estimator.
Om du beräknar resurserna i ett Q# program kan du köra flera konfigurationer av target parametrar, även kallat batchbearbetning. Batchbearbetning med Q# kan göras i en Jupyter Notebook i VS Code.
Du kan utföra en batchuppskattning genom att skicka en lista med target parametrar till parametern params
för qsharp.estimate
funktionen. I följande exempel visas hur du skickar två konfigurationer av target parametrar som ett enda jobb. Den första konfigurationen använder standardparametrarna target och den andra konfigurationen använder qubit_maj_ns_e6
kvantbitsparametern och floquet_code
QEC-schemat.
I samma Jupyter Notebook i ditt Q# program lägger du till en ny cell och kör följande 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⁻⁶"])
Du kan också skapa en lista med uppskattningsparametrar target med hjälp av EstimatorParams
klassen. Följande kod visar hur du skickar sex konfigurationer av target parametrar som ett enda jobb.
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)
Kommentar
Om du stöter på problem när du arbetar med Resursberäknaren kan du gå till sidan Felsökning eller kontakta AzureQuantumInfo@microsoft.com.