이 문서에서는 target 매개 변수의 여러 구성을 동시에 실행하고 Azure Quantum Resource Estimator사용하여 비교하는 방법을 알아봅니다.
Azure Quantum Resource Estimator를 사용하면 동일한 양자 프로그램에서 여러 작업을 다시 실행할 필요가 없도록 여러 매개 변수 구성target을 단일 작업으로 실행할 수 있습니다.
하나의 작업은 여러 항목 또는 target 매개 변수의 구성으로 구성됩니다. 여러 항목을 단일 작업으로 실행할 수 있는 몇 가지 시나리오:
- 모든 항목에서 동일한 작업 인수를 사용하여 여러 target 매개 변수를 실행합니다.
- 모든 항목에서 서로 다른 작업 인수를 사용하여 여러 target 매개 변수를 실행합니다.
- 여러 결과를 테이블 형식으로 쉽게 비교할 수 있습니다.
- 차트에서 여러 결과를 쉽게 비교할 수 있습니다.
리소스 추정기를 실행하는 방법에 대한 자세한 내용은 리소스 추정기를 사용하는 다양한 방법을 참조 하세요.
필수 조건
최신 버전의 Visual Studio Code 또는 웹에서 VS Code를 엽니다.
최신 버전의 Quantum Development Kit 확장판은. 설치 세부 정보는 QDK 확장설정을 참조하세요.
최신 버전의 Python 및 VS Code용 Jupyter 확장을 설치합니다.
최신
qdkPython 라이브러리입니다.python -m pip install --upgrade qdk
리소스 추정기를 사용하여 여러 구성 실행
VS Code에서 targetQ#을 사용하여 여러 매개 변수 구성을 단일 작업 으로 실행할 수 있습니다.
target 함수의 params 매개 변수에 qsharp.estimate 매개 변수 목록을 전달할 수 있습니다.
다음 예제에서는 target 매개 변수의 두 구성을 단일 작업으로 실행하는 방법을 보여 줍니다. 첫 번째 구성은 기본 target 매개 변수를 사용하고 두 번째 구성은 큐비트 매개 변수와 QEC 체계를 qubit_maj_ns_e6 사용합니다floquet_code.
프로그램의 동일한 Jupyter Notebook에서 새 셀을 추가하고 다음 코드를 실행합니다 Q# .
from qdk import qsharp
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⁻⁶"])
클래스targetEstimatorParams 수도 있습니다. 다음 코드에서는 target 매개 변수의 6개 구성을 단일 작업으로 일괄 처리하는 방법을 보여 줍니다.
from qdk import qsharp
from qdk.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)
참고 항목
리소스 예측 도구로 작업하는 동안 문제가 발생하는 경우 문제 해결 페이지를 확인하거나 문의하세요AzureQuantumInfo@microsoft.com.