다음을 통해 공유


리소스 예측 도구와 target 매개 변수의 여러 구성을 비교하는 방법

이 문서에서는 target 매개 변수의 여러 구성을 동시에 실행하고 Azure Quantum Resource Estimator사용하여 비교하는 방법을 알아봅니다.

Azure Quantum Resource Estimator를 사용하면 동일한 양자 프로그램에서 여러 작업을 다시 실행하지 않도록 단일 작업으로 매개 변수의 여러 구성을 실행할 수 있습니다.

하나의 작업은 여러 항목 또는 target 매개 변수의 구성으로 구성됩니다. 여러 항목을 단일 작업으로 실행할 수 있는 몇 가지 시나리오:

  • 여러 target 매개 변수를 실행하고, 모든 항목에서 동일한 작업 인수를 사용합니다.
  • 모든 항목에서 여러 target 매개 변수를 다른 작업 인수와 함께 실행합니다.
  • 여러 결과를 테이블 형식으로 쉽게 비교할 수 있습니다.
  • 차트에서 여러 결과를 쉽게 비교할 수 있습니다.

리소스 추정기를 실행하는 방법에 대한 자세한 내용은 리소스 추정기를 사용하는 다양한 방법을 참조 하세요.

필수 조건

리소스 추정기를 사용하여 여러 구성 실행

VS Code의 Jupyter Notebook에서 매개 변수의 여러 구성을 단일 작업으로 실행할 수 있습니다. qsharp.estimate 함수의 params 매개 변수에 target 매개 변수 목록을 전달할 수 있습니다.

다음 예제에서는 target 매개 변수의 두 구성을 단일 작업으로 실행하는 방법을 보여 줍니다. 첫 번째 구성은 기본 target 매개 변수를 사용하고 두 번째 구성은 큐비트 매개 변수와 QEC 체계를 qubit_maj_ns_e6 사용합니다floquet_code.

프로그램의 동일한 Jupyter Notebook에서 새 셀을 추가하고 다음 코드를 실행합니다 Q# .

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

클래스EstimatorParams 수도 있습니다. 다음 코드에서는 target 매개 변수의 6개 구성을 단일 작업으로 일괄 처리하는 방법을 보여 줍니다.

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)

참고 항목

리소스 예측 도구로 작업하는 동안 문제가 발생하는 경우 문제 해결 페이지를 확인하거나 문의하세요AzureQuantumInfo@microsoft.com.