Meerdere configuraties van target parameters uitvoeren met de resource-estimator
In dit artikel leert u hoe u meerdere configuraties van parameters uitvoert en deze vergelijkt met behulp van target de Azure Quantum Resource Estimator.
Vereisten
De volgende vereisten zijn vereist om de resource-estimator uit te voeren:
Als u programma's wilt uitvoeren Q# in de Resource Estimator, hebt u het volgende nodig:
- De nieuwste versie van Visual Studio Code of open VS Code op het web.
- De nieuwste versie van de Azure Quantum Development Kit-extensie. Zie QDK installeren in VS Code voor installatiedetails.
Als u Python in VS Code wilt gebruiken, hebt u ook het volgende nodig:
Installeer de nieuwste versie van de Python- en Jupyter-extensies voor VS Code.
Het nieuwste Azure Quantum-pakket
qsharp
.python -m pip install --upgrade qsharp
Als u taken wilt verzenden naar de resource-estimator, hebt u het volgende nodig:
- Een Azure-account met een actief abonnement. Als u geen Azure-account hebt, registreert u zich gratis en registreert u zich voor een abonnement op basis van betalen per gebruik.
- Een Azure Quantum-werkruimte. Zie Een Azure Quantum-werkruimte maken voor meer informatie.
Batchverwerking met de resource-estimator
Met de Azure Quantum Resource Estimator kunt u taken verzenden met meerdere configuraties van taakparameters, ook wel items genoemd, als één taak om te voorkomen dat meerdere taken in hetzelfde kwantumprogramma opnieuw worden uitgevoerd.
Een resourceramingstaak bestaat uit twee typen taakparameters:
- Target parameters: qubitmodel, QEC-schema's, foutbudget, beperkingen op onderdeelniveau en distillatie-eenheden.
- Bewerkingsargumenten: argumenten die kunnen worden doorgegeven aan het programma (als het QIR-invoerpunt argumenten bevat).
Eén item bestaat uit één configuratie van taakparameters, één configuratie van target parameters en bewerkingsargumenten. Verschillende items worden weergegeven als een matrix met taakparameters.
In sommige scenario's waarin u mogelijk meerdere items als één taak wilt verzenden:
- Verzend meerdere target parameters met dezelfde bewerkingsargumenten in alle items.
- Verzend meerdere target parameters met verschillende bewerkingsargumenten in alle items.
- Vergelijk eenvoudig meerdere resultaten in een tabelvorm.
- Vergelijk eenvoudig meerdere resultaten in een grafiek.
Taken batcheren met behulp van verschillende talen
Selecteer de gewenste tabbladen voor voorbeelden van Resource Estimator-batchverwerking.
Als u de resources van een Q# programma schat, kunt u meerdere configuraties van target parameters uitvoeren, ook wel batchverwerking genoemd. Batchverwerking met Q# kan worden uitgevoerd in een Jupyter Notebook in VS Code.
U kunt een batchschatting uitvoeren door een lijst met target parameters door te geven aan de params
parameter van de qsharp.estimate
functie. In het volgende voorbeeld ziet u hoe u twee configuraties van target parameters als één taak verzendt. De eerste configuratie maakt gebruik van de standaardparameters target en de tweede configuratie maakt gebruik van de qubit_maj_ns_e6
qubitparameter en het floquet_code
QEC-schema.
Voeg in hetzelfde Jupyter Notebook van uw Q# programma een nieuwe cel toe en voer de volgende code uit:
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⁻⁶"])
U kunt ook een lijst met schattingsparameters target maken met behulp van de EstimatorParams
klasse. De volgende code laat zien hoe u zes configuraties van target parameters als één taak verzendt.
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)
Notitie
Als er een probleem optreedt tijdens het werken met de resource-estimator, bekijkt u de pagina Probleemoplossing of neemt u contact op AzureQuantumInfo@microsoft.com.