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:
- La versione più recente di Visual Studio Code o aprire VS Code sul Web.
- La versione più recente dell'estensione Azure Quantum Development Kit. Per informazioni dettagliate sull'installazione, vedere Installazione di QDK in VS Code.
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.