다음을 통해 공유


리소스 예측 도구의 출력 검색

리소스 추정기의 출력 매개 변수 및 다이어그램을 해석하고 검색하는 방법을 알아봅니다. 이 문서에서는 VS Code(Visual Studio Code)의 Jupyter Notebook에서 리소스 예측 도구의 결과에 프로그래밍 방식으로 액세스하는 방법을 설명합니다.

필수 조건

  • Python 및 Pip이 설치된 Python 환경입니다.

  • 최신 버전의 VS Code 또는 웹에서 VS Code를 엽니다.

  • Azure Quantum Development Kit, Python 및 Jupyter 확장이 설치된 VS Code

  • 최신 qdk Python 라이브러리로, jupyter 추가 기능이 포함되어 있습니다.

    python -m pip install --upgrade "qdk[jupyter]"
    

비고

명령 팔레트에서 VS Code에서 리소스 추정기를 실행하는 경우 다음 명령이 적용되지 않습니다. 자세한 내용은 리소스 추정기실행하는 다양한 방법을 참조하세요.

출력 매개 변수

리소스 예측 도구의 출력은 콘솔에 인쇄되고 프로그래밍 방식으로 액세스할 수 있는 보고서입니다. 예를 들어 다음 코드 조각은 모든 Resource Estimator 매개 변수의 값을 표시합니다.

result['jobParams']

다음 표에는 각 출력 매개 변수에 대한 데이터 형식 및 간략한 설명이 포함되어 있습니다.

최상위 출력 매개 변수 데이터 형식 설명
status 문자열 작업의 상태, 항상 Succeeded.
jobParams 사전 작업의 target 매개변수는 입력으로 전달됩니다.
physicalCounts 사전 실제 자원 추정치입니다. 자세한 내용은 실제 개수를 참조 하세요.
physicalCountsFormatted 사전 보고서 데이터에 표시하기 위해 서식이 지정된 실제 리소스 추정치입니다. 자세한 내용은 서식이 지정된 실물 수량을 참조하세요.
logicalQubit 사전 논리 큐비트 속성입니다. 자세한 내용은 논리 큐비트를 참조하십시오.
tfactory 사전 T 팩토리의 속성입니다.
logicalCounts 사전 사전 레이아웃 논리 리소스 추정치. 자세한 내용은 논리 수를 참조하세요.
reportData 사전 리소스 예측 보고서에 대한 생성 데이터입니다.

실제 개수

physicalCounts 사전에는 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 설명
physicalQubits 숫자 실제 큐비트의 총 수입니다.
runtime 숫자 알고리즘을 실행할 총 런타임(나노초)입니다.
rqops 숫자 1초당 신뢰할 수 있는 양자 연산 수 (QOPS)입니다.
breakdown 사전 예측의 분석입니다. 자세한 내용은 실제 개수 세부사항을 참조하세요.

물리적 수량명세서

breakdown 사전에는 physicalCounts 다음 항목이 포함되어 있습니다.

출력 매개 변수 데이터 형식 설명
algorithmicLogicalQubits 숫자 알고리즘을 실행하는 데 필요한 논리 큐비트는 T 팩터리에 대한 리소스를 포함하지 않습니다.
algorithmicLogicalDepth 숫자 알고리즘을 실행하는 데 필요한 논리 주기이며 T 팩터리에 대한 리소스는 포함하지 않습니다.
logicalDepth 숫자 T 팩터리 실행 시간이 알고리즘 실행보다 더 빠를 때마다 계산되는 주기의 조정된 수치입니다.
numTstates 숫자 알고리즘에서 사용하는 T 상태의 수입니다.
clockFrequency 숫자 초당 논리 주기 수입니다.
numTfactories 숫자 T 팩터리 수입니다(균일한 T 팩터리 설계라고 가정).
numTfactoryRuns 숫자 모든 병렬 T 팩터리가 실행되어야 하는 횟수입니다.
physicalQubitsForTfactories 숫자 모든 T 팩터리에 대한 실제 큐비트 수입니다.
physicalQubitsForAlgorithm 숫자 알고리즘 레이아웃의 실제 큐비트 수입니다.
requiredLogicalQubitErrorRate 숫자 필요한 논리적 오류 비율입니다.
requiredLogicalTstateErrorRate 숫자 필요한 논리적 T 상태 오류 비율입니다.
numTsPerRotation 숫자 회전당 T 게이트 수입니다.
cliffordErrorRate 숫자 큐비트 매개 변수를 기반으로 하는 Clifford 오류 비율입니다.

서식이 지정된 실제 개수

physicalCountsFormatted 사전에는 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 설명
runtime 문자열 사람에게 친숙한 문자열로 표현된 총 실행 시간입니다.
rqops 문자열 초당 신뢰할 수 있는 양자 연산 수(QOPS)가 메트릭 접미사로 서식이 지정되었습니다.
physicalQubits 문자열 메트릭 접미사가 있는 총 실제 큐비트 수입니다.
algorithmicLogicalQubits 문자열 메트릭 접미사가 있는 알고리즘 논리 큐비트입니다.
algorithmicLogicalDepth 문자열 메트릭 접미사를 가진 알고리즘 논리 깊이.
logicalDepth 문자열 메트릭 접미사를 사용하여 알고리즘 논리 깊이를 조정할 수 있습니다.
numTstates 문자열 메트릭 접미사가 있는 T 상태 수입니다.
numTfactories 문자열 메트릭 접미사가 있는 T 공장의 복사본 수입니다.
numTfactoryRuns 문자열 메트릭 접미사와 함께한 T 팩터리 실행 횟수입니다.
physicalQubitsForAlgorithm 문자열 메트릭 접미사가 있는 알고리즘의 실제 큐비트 수입니다.
physicalQubitsForTfactories 문자열 메트릭 접미사가 있는 T 팩터리의 실제 큐비트 수입니다.
physicalQubitsForTfactoriesPercentage 문자열 모든 T 팩터리에 대한 실제 큐비트 수(백분율에서 합계)입니다.
requiredLogicalQubitErrorRate 문자열 잘린 필수 논리 큐비트 오류 비율입니다.
requiredLogicalTstateErrorRate 문자열 잘린 필수 T 상태 오류 비율입니다.
physicalQubitsPerLogicalQubit 문자열 메트릭 접미사가 있는 논리 큐비트당 실제 큐비트 수입니다.
logicalCycleTime 문자열 논리적 큐비트의 논리적 주기 시간을 사람이 이해하기 쉬운 형식으로 표현한 것입니다.
clockFrequency 문자열 사람에게 친숙한 형식으로 표현된 초당 논리 주기의 수입니다.
logicalErrorRate 문자열 잘린 논리적 오류 비율입니다.
tfactoryPhysicalQubits 문자열 메트릭 접미사가 있는 T 공장의 물리적 큐비트 수(또는 T 공장이 없다는 메시지)
tfactoryRuntime 문자열 단일 T 팩터리의 실행 시간을 사람에게 이해하기 쉬운 형식의 문자열로 나타내거나, T 팩터리가 없는 경우에는 그 메시지를 표시합니다.
numInputTstates 문자열 입력 T 상태(또는 T 팩터리 없음 메시지)의 수입니다.
numUnitsPerRound 문자열 증류 라운드당 단위 수는 문자열로 쉼표로 구분되어 있으며, T 팩터리가 없다는 메시지가 포함됩니다.
unitNamePerRound 문자열 문자열로 구분된 각 증류 라운드의 단위 이름(또는 T 팩터리 없음 메시지)입니다.
codeDistancePerRound 문자열 각 증류 라운드당 코드 거리 정보를 쉼표로 구분된 문자열로 나타내며, 또는 T 팩터리가 없다는 메시지가 표시됩니다.
physicalQubitsPerRound 문자열 증류 라운드당 물리적 큐비트 수, 문자열에서 쉼표로 구분(또는 T 팩터리가 없다는 메시지)
tfactoryRuntimePerRound 문자열 쉼표로 구분된 인간 친화적인 문자열(또는 T 팩터리 없음 메시지)으로 표시되는 각 증류 라운드의 런타임입니다.
tstateLogicalErrorRate 문자열 단축된 논리적 T 상태 오류 비율(또는 T 팩토리 없음 메시지).
logicalCountsNumQubits 문자열 메트릭 접미사가 있는 큐비트(사전 레이아웃) 수입니다.
logicalCountsTCount 문자열 메트릭 접미사가 붙은 T 게이트(사전 레이아웃)의 수입니다.
logicalCountsRotationCount 문자열 메트릭 단위 접미사가 포함된 회전 게이트(사전 레이아웃)의 수입니다.
logicalCountsRotationDepth 문자열 사전 레이아웃에서 사용되는 회전 깊이(메트릭 접미사 포함)입니다.
logicalCountsCczCount 문자열 메트릭 접미사가 포함된 CCZ 게이트의 수(사전 레이아웃)입니다.
logicalCountsCcixCount 문자열 메트릭 접미사가 있는 CCiX 게이트(사전 레이아웃) 수입니다.
logicalCountsMeasurementCount 문자열 레이아웃 이전 단계에서 메트릭 접미사가 있는 단일 큐비트 측정의 수입니다.
errorBudget 문자열 총 오류 예산이 단축되었습니다.
errorBudgetLogical 문자열 논리적 오류에 대한 오류 예산이 축소되었습니다.
errorBudgetTstates 문자열 잘못된 T 상태 증류에 대한 오류 예산이 축소되었습니다.
errorBudgetRotations 문자열 오류가 있는 회전 합성의 예산이 축소되었습니다.
numTsPerRotation 문자열 회전당 포맷된 Ts의 수(없을 수도 있음)입니다.

논리 큐비트

logicalQubit 사전에는 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 설명
codeDistance 숫자 논리 큐비트의 계산된 코드 거리입니다.
physicalQubits 숫자 각 논리 큐비트의 실제 큐비트 수입니다.
logicalCycleTime 숫자 하나의 논리 작업을 실행할 시간입니다.
logicalErrorRate 숫자 논리 큐비트의 논리적 오류 비율입니다.

논리적 수량

logicalCounts 사전에는 다음 항목이 포함됩니다.

출력 매개 변수 데이터 형식 설명
numQubits 숫자 큐비트의 사전 레이아웃 수입니다.
tCount 숫자 T 게이트의 사전 레이아웃 번호입니다.
rotationCount 숫자 회전 게이트의 사전 레이아웃 수입니다.
rotationDepth 숫자 사전 레이아웃 회전 깊이입니다.
cczCount 숫자 CCZ 게이트의 사전 레이아웃 번호입니다.
ccixCount 숫자 CCiX 게이트의 사전 레이아웃 수입니다.
measurementCount 숫자 단일 큐비트 측정의 사전 레이아웃 수입니다.

리소스 예측 작업에 대해 미리 계산된 논리 개수 집합을 사용하려는 경우 LogicalCounts Python 연산을 사용하여 기존의 예측값을 리소스 예측 도구에 전달할 수 있습니다. 자세한 내용은 리소스 추정기에서 알려진 예상치 사용 방법을 참조하세요.

공간 다이어그램

전체 물리적 리소스 예측은 알고리즘 및 T 팩터리 복사본 모두에 사용되는 총 물리적 큐비트 수로 구성됩니다. 공간 다이어그램을 사용하여 이 둘 사이의 분포를 검사할 수 있습니다.

공간 다이어그램은 알고리즘과 T 팩터리에 사용되는 실제 큐비트의 비율을 보여 줍니다. T 팩터리 복사본 수는 T 팩터리의 물리적 큐비트 수에 영향을 줍니다.

Jupyter Notebook에서 qsharp-widgets 패키지의 SpaceChart 위젯을 사용하여 공간 다이어그램에 액세스할 수 있습니다.

from qdk.widgets import SpaceChart

SpaceChart(result)

Pie diagram showing the distribution of total physical qubits between algorithm qubits and T factory qubits. There's a table with the breakdown of number of T factory copies and number of physical qubits per T factory.알고리즘 큐비트와 T 팩토리 큐비트 사이의 총 실제 큐비트 분포를 보여주는 원형 다이어그램입니다. 또한, T 팩토리의 복사본 수와 T 팩토리당 실제 큐비트 수를 분석한 표가 있습니다.

Pareto 프론티어 추정을 사용하여 여러 target을 실행하는 경우, 특정 솔루션의 공간 다이어그램을 그릴 수 있습니다. 예를 들어 다음 코드에서는 매개 변수의 첫 번째 구성과 세 번째로 짧은 런타임에 대한 공간 다이어그램을 그리는 방법을 보여 있습니다.

SpaceChart(result[0], 2) # First (estimate index=0) run and third (point index=2) shortest runtime

시공간 다이어그램

양자 컴퓨팅에서는 실제 큐비트 수와 알고리즘의 런타임 간에 장단점이 있습니다. 알고리즘의 런타임을 줄이기 위해 가능한 한 많은 실제 큐비트를 할당하는 것을 고려할 수 있습니다. 그러나 물리적 큐비트의 수는 양자 하드웨어에서 사용할 수 있는 물리적 큐비트의 수로 제한됩니다. 런타임과 시스템 규모 간의 장단점 이해는 리소스 예측의 더 중요한 측면 중 하나입니다.

알고리즘의 리소스를 추정할 때 시공간 다이어그램을 사용하여 실제 큐비트 수와 알고리즘의 런타임 간의 절충을 시각화할 수 있습니다.

비고

시공간 다이어그램에서 여러 최적의 조합을 보려면 추정 방식을 파레토 프론티어 추정으로 설정해야 합니다. QDK: Calculate Resource Estimates 명령을 사용하여 Visual Studio Code에서 리소스 추정기를 실행하는 경우 파레토 프론티어 예측은 기본적으로 사용하도록 설정됩니다.

시공간 다이어그램을 사용하면 양자 하드웨어의 제약 조건을 충족하는 {큐비트 수, 런타임} 쌍의 최적의 조합을 찾을 수 있습니다. 다이어그램은 각 {큐비트 수, 런타임} 쌍에 대한 알고리즘의 실제 큐비트 수와 런타임을 보여 줍니다.

Jupyter Notebook에서 시공간 다이어그램을 실행하려면 패키지의 EstimatesOverview 위젯을 widgets 사용합니다.

from qdk.widgets import EstimatesOverview

EstimatesOverview(result, colors=["#1f77b4", "#ff7f0e"], runNames=["e4 Surface Code", "e6 Floquet Code"])

그리소스 추산기의 큐비트-시간 다이어그램을 보여주는 스크린샷

예측 세부 정보를 보려면 다이어그램의 각 지점을 마우스로 가리킬 수 있습니다.

시공간 도표는 동일한 알고리즘에 대한 여러 매개 변수 target 구성을 비교할 때 특히 유용합니다.

Screenshot showing the space-time diagram and the table of results when running multiple configurations of parameter in the Resource Estimator.리소스 추정기에서 여러 매개 변수 구성을 실행할 때의 시공간 다이어그램 및 결과 테이블을 보여 주는 스크린샷

비고

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

다음 단계