Ejecución de varias configuraciones de target parámetros con el estimador de recursos
En este artículo, aprenderá a ejecutar varias configuraciones de target parámetros y a compararlas con el estimador de recursos de Azure Quantum.
Para obtener información sobre cómo ejecutar el estimador de recursos, consulte Diferentes formas de usar el estimador de recursos.
Requisitos previos
Se requieren los siguientes requisitos previos para ejecutar el estimador de recursos:
Para ejecutar Q# programas en el Estimador de recursos, necesita lo siguiente:
- La versión más reciente de Visual Studio Code o abra VS Code en la Web.
- La versión más reciente de la extensión del Kit de desarrollo de Azure Quantum . Para obtener más información sobre la instalación, consulte Instalación del QDK moderno en VS Code.
Si desea usar Python en VS Code, también necesita lo siguiente:
Instale la versión más reciente de las extensiones de Python y Jupyter para VS Code.
El paquete de Azure Quantum
qsharp
más reciente.python -m pip install --upgrade qsharp
Para enviar trabajos al estimador de recursos, necesita lo siguiente:
- Una cuenta de Azure con una suscripción activa. Si no tiene una cuenta de Azure, regístrese gratuitamente y regístrese para obtener una suscripción de pago por uso.
- Un área de trabajo de Azure Quantum. Para más información, consulte Creación de un área de trabajo de Azure Quantum.
Procesamiento por lotes con el estimador de recursos
El estimador de recursos de Azure Quantum permite enviar trabajos con varias configuraciones de parámetros de trabajo, también denominados elementos, como un único trabajo para evitar volver a ejecutar varios trabajos en el mismo programa cuántico.
Un trabajo de estimación de recursos consta de dos tipos de parámetros de trabajo:
- Parámetros de destino: modelo de cúbits, esquemas QEC, presupuesto de errores, restricciones en el nivel de componente y unidades de destilación.
- Argumentos de operación: argumentos que se pueden pasar al programa (si el punto de entrada QIR contiene argumentos).
Un elemento consta de una configuración de parámetros de trabajo, que es una configuración de target parámetros y argumentos de operación. Varios elementos se representan como una matriz de parámetros de trabajo.
Algunos escenarios en los que es posible que desee enviar varios elementos como un único trabajo:
- Envíe varios target parámetros con los mismos argumentos de operación en todos los elementos.
- Envíe varios target parámetros con argumentos de operación diferentes en todos los elementos.
- Compare fácilmente varios resultados en un formato tabular.
- Comparar fácilmente varios resultados en un gráfico.
Si calcula los recursos de un Q# programa, puede ejecutar varias configuraciones de target parámetros, también conocidas como procesamiento por lotes. El procesamiento por lotes con Q# se puede realizar en una Jupyter Notebook en VS Code.
Para realizar una estimación por lotes, pase una lista de target parámetros al params
parámetro de la qsharp.estimate
función. En el ejemplo siguiente se muestra cómo enviar dos configuraciones de target parámetros como un único trabajo. La primera configuración usa los parámetros predeterminados target y la segunda configuración usa el qubit_maj_ns_e6
parámetro qubit y el floquet_code
esquema QEC.
En el mismo Jupyter Notebook del Q# programa, agregue una nueva celda y ejecute el código siguiente:
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⁻⁶"])
También puede construir una lista de parámetros de estimación target mediante la EstimatorParams
clase . En el código siguiente se muestra cómo enviar seis configuraciones de target parámetros como un único trabajo.
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
Si tiene algún problema al trabajar con el estimador de recursos, consulte la página Solución de problemas o póngase en contacto con AzureQuantumInfo@microsoft.com.
Contenido relacionado
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de