Share via


Meerdere configuraties van target parameters uitvoeren met de Resource Estimator

In dit artikel leert u hoe u meerdere configuraties van target parameters uitvoert en deze vergelijkt met behulp van de Azure Quantum Resource Estimator.

Zie Verschillende manieren om resource-estimator te gebruiken voor meer informatie over het uitvoeren van de 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:

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:


Batchverwerking met de resource-estimator

Met de Azure Quantum Resource Estimator kunt u taken met meerdere configuraties van taakparameters, ook wel items genoemd, als één taak verzenden om te voorkomen dat meerdere taken opnieuw worden uitgevoerd in hetzelfde kwantumprogramma.

Een resourceschattingstaak bestaat uit twee typen taakparameters:

  • Doelparameters: qubitmodel, QEC-schema's, foutenbudget, beperkingen op onderdeelniveau en distillatie-eenheden.
  • Bewerkingsargumenten: argumenten die kunnen worden doorgegeven aan het programma (als het QIR-toegangspunt argumenten bevat).

Eén item bestaat uit één configuratie van taakparameters, dat is een configuratie van target parameters en bewerkingsargumenten. Verschillende items worden weergegeven als een matrix met taakparameters.

Enkele 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.
  • U kunt eenvoudig meerdere resultaten in tabelvorm vergelijken.
  • Vergelijk eenvoudig meerdere resultaten in een grafiek.

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 qubit-parameter en het floquet_code QEC-schema.

Voeg in dezelfde 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 u een probleem ondervindt tijdens het werken met de Resource Estimator, gaat u naar de pagina Probleemoplossing of neemt u contact op met AzureQuantumInfo@microsoft.com.