Condividi tramite


Come eseguire più configurazioni di target parametri con Lo strumento di stima delle risorse

Questo articolo illustra come eseguire più configurazioni di target parametri e confrontarle usando Lo strumento di stima delle risorse di Azure Quantum.

Per informazioni su come eseguire Lo strumento di stima delle risorse, vedere Modi diversi per usare Lo strumento di stima delle risorse.

Prerequisiti

Per eseguire Resource Estimator sono necessari i prerequisiti seguenti:

Per eseguire Q# programmi in Resource Estimator, sono necessari gli elementi seguenti:

Se si vuole usare Python in VS Code, sono necessari anche gli elementi seguenti:

  • Installare la versione più recente delle estensioni Python e Jupyter per VS Code.

  • Pacchetto Azure Quantum qsharp più recente.

    python -m pip install --upgrade qsharp 
    

Per inviare processi a Resource Estimator, è necessario quanto segue:

  • Un account Azure con una sottoscrizione attiva. Se non si ha un account Azure, registrarsi gratuitamente e iscriversi per ottenere una sottoscrizione con pagamento in base al consumo.
  • Un'area di lavoro di Azure Quantum. Per altre informazioni, vedere Creare un'area di lavoro di Azure Quantum.

Invio in batch con lo strumento di stima delle risorse

Azure Quantum Resource Estimator consente di inviare processi con più configurazioni di parametri di processo, detti anche elementi, come un singolo processo per evitare di riesecure più processi nello stesso programma quantistico.

Un processo di stima delle risorse è costituito da due tipi di parametri di processo:

  • Target parametri: modello qubit, schemi QEC, budget degli errori, vincoli a livello di componente e unità di crittografia.
  • Argomenti dell'operazione: argomenti che possono essere passati al programma (se il punto di ingresso QIR contiene argomenti).

Un elemento è costituito da una configurazione di parametri del processo, ovvero una configurazione di target parametri e argomenti dell'operazione. Diversi elementi sono rappresentati come matrice di parametri del processo.

Alcuni scenari in cui è possibile inviare più elementi come singolo processo:

  • Inviare più target parametri con gli stessi argomenti dell'operazione in tutti gli elementi.
  • Inviare più target parametri con argomenti di operazione diversi in tutti gli elementi.
  • Confrontare facilmente più risultati in un formato tabulare.
  • Confrontare facilmente più risultati in un grafico.

Invio in batch di processi con linguaggi diversi

Selezionare le schede desiderate per esempi di batch di Resource Estimator.

Se si stimano le risorse di un Q# programma, è possibile eseguire più configurazioni di target parametri, note anche come invio in batch. L'invio in batch con Q# può essere eseguito in un notebook di Jupyter in VS Code.

È possibile eseguire una stima batch passando un elenco di target parametri al params parametro della qsharp.estimate funzione. Nell'esempio seguente viene illustrato come inviare due configurazioni di target parametri come singolo processo. La prima configurazione usa i parametri predefiniti target e la seconda configurazione usa il qubit_maj_ns_e6 parametro qubit e lo floquet_code schema QEC.

Nello stesso jupyter Notebook del Q# programma aggiungere una nuova cella ed eseguire il codice seguente:

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⁻⁶"])

È anche possibile costruire un elenco di parametri di stima target usando la EstimatorParams classe . Il codice seguente illustra come inviare sei configurazioni di target parametri come singolo processo.

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)

Nota

Se si verifica un problema durante l'uso dello strumento di stima delle risorse, consultare la pagina Risoluzione dei problemi o contattare AzureQuantumInfo@microsoft.com.