Come eseguire più configurazioni di target parametri con Lo strumento di stima delle risorse
In questo articolo viene illustrato come eseguire più configurazioni di target parametri e confrontarli usando Azure Quantum Resource Estimator.
Per informazioni su come eseguire l'utilità di stima delle risorse, vedere Modi diversi per usare l'utilità di stima delle risorse.
Prerequisiti
Per eseguire l'oggetto Resource Estimator sono necessari i prerequisiti seguenti:
Per eseguire Q# programmi in Resource Estimator, è necessario quanto segue:
- Versione più recente di Visual Studio Code o apertura di VS Code sul Web.
- Versione più recente dell'estensione Azure Quantum Development Kit . Per informazioni dettagliate sull'installazione, vedere Installazione del QDK moderno in VS Code.
Se si vuole usare Python in VS Code, è necessario anche quanto segue:
Installare la versione più recente delle estensioni Python e Jupyter per VS Code.
Il 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 dispone di un account Azure, registrarsi gratuitamente e iscriversi per 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.
Batch con l'oggetto Stima risorse
Azure Quantum Resource Estimator consente di inviare processi con più configurazioni di parametri del processo, detti anche elementi, come un singolo processo per evitare di ripetere più processi nello stesso programma quantistico.
Un processo di stima delle risorse è costituito da due tipi di parametri di processo:
- Parametri di destinazione: modello qubit, schemi QEC, budget degli errori, vincoli per le unità a livello di componente e combinazioni.
- Argomenti dell'operazione: argomenti che possono essere passati al programma (se il punto di ingresso DI QIR contiene argomenti).
Un elemento è costituito da una configurazione di parametri del processo, ovvero una configurazione di target parametri e argomenti di 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.
Se si stimano le risorse di un Q# programma, è possibile eseguire più configurazioni di target parametri, note anche come batch. Il batch con Q# può essere eseguito in un Jupyter Notebook 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.
Nella stessa 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 creare 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 di Resource Estimator, vedere la pagina Risoluzione dei problemi o contattare AzureQuantumInfo@microsoft.com.
Contenuti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per