Delen via


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.

Zie Verschillende manieren om de 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:

  • 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.