%azure.execute
경고
이 설명서는 최신 QDK로 대체된 클래식 QDK를 참조합니다.
최신 QDK는 '%%qsharp' 매직 명령만 지원합니다.
요약
Azure Quantum 작업 영역에 작업을 제출하고 완료될 때까지 기다립니다.
Description
이 매직 명령을 사용하면 현재 Azure Quantum 작업 영역의 지정된 대상에서 Q# 작업 또는 함수를 실행할 수 있습니다. 명령은 반환하기 전에 작업이 완료될 때까지 지정된 시간을 기다립니다.
Azure Quantum 작업 영역은 이전에 매직 명령을 사용하여%azure.connect
초기화되어야 하며, 매직 명령을 사용하여 %azure.target
작업에 대한 실행 대상을 지정해야 합니다.
필수 매개 변수
- Q# 작업 또는 함수 이름입니다. 첫 번째 매개 변수여야 하며 Notebook 또는 동일한 폴더의 Q# 파일에 정의된 유효한 Q# 작업 또는 함수 이름이어야 합니다.
- Q# 작업 또는 함수에 대한 인수도 쌍으로
key=value
지정해야 합니다.
선택적 매개 변수
jobName=<string>
: 이 작업을 식별하기 위한 이름입니다. 지정하지 않으면 Q# 작업 또는 함수 이름이 작업 이름으로 사용됩니다.jobParams=<JSON key:value pairs>
: JSON에서 하나 이상의key
로 표현되는 공급자별 작업 매개 변수:value
실행 대상에 전달할 쌍입니다. 값은 문자열이어야 합니다.shots=<integer>
(default=500): 지정된 Q# 작업 또는 함수의 실행을 반복하는 횟수입니다.timeout=<integer>
(default=300): 매직 명령이 반환되기 전에 작업 완료를 기다리는 시간(초)입니다.poll=<integer>
(default=5): 작업 실행이 완료되도록 기다리는 동안 작업 상태 폴링하는 간격(초)입니다.
가능한 오류
NotConnected
: Azure Quantum 작업 영역에 연결되지 않았습니다.NoTarget
: Azure Quantum 작업 제출에 대해 실행 대상이 구성되지 않았습니다.NoOperationName
: Azure Quantum 작업 제출에 대해 Q# 작업 이름이 지정되지 않았습니다.InvalidTarget
: 지정된 대상이 이 작업 영역에서 사용하도록 설정되지 않았습니다. 대상 이름이 유효하고 연결된 공급자가 작업 영역에 추가되었는지 확인하세요. Azure Portal에서 양자 작업 영역에 공급자를 추가하려면 https://aka.ms/AQ/Docs/AddProviderUnrecognizedOperationName
: 지정된 Q# 작업 이름이 인식되지 않았습니다.InvalidEntryPoint
: 지정된 Q# 작업을 Azure Quantum 작업 제출의 진입점으로 사용할 수 없습니다.JobSubmissionFailed
: Azure Quantum 작업 영역에 작업을 제출하지 못했습니다.JobNotCompleted
: 지정된 Azure Quantum 작업이 아직 완료되지 않았습니다.JobOutputDownloadFailed
: 지정된 Azure Quantum 작업에 대한 결과를 다운로드하지 못했습니다.JobFailedOrCancelled
: 지정된 Azure Quantum 작업이 실패했거나 취소되었습니다.
에 대한 예제 %azure.execute
예 1
현재 Azure Quantum 작업 영역의 활성 대상에서 로 operation MyOperation(a : Int, b : Int) : Result
정의된 Q# 작업을 실행합니다.
In []: %azure.execute MyOperation a=5 b=10
Out[]: Submitting MyOperation to target provider.qpu...
Job successfully submitted for 500 shots.
Job name: MyOperation
Job ID: <Azure Quantum job ID>
Waiting up to 300 seconds for Azure Quantum job to complete...
[1:23:45 PM] Current job status: Waiting
[1:23:50 PM] Current job status: Executing
[1:23:55 PM] Current job status: Succeeded
<detailed results of completed job>
예 2
사용자 지정 작업 이름, 샷 수, 시간 제한, 폴링 간격 및 공급자별 작업 매개 변수를 지정하여 현재 Azure Quantum 작업 영역의 활성 대상에 로 정의된 operation MyOperation(a : Int, b : Int) : Result
Q# 작업을 실행합니다.
In []: %azure.submit MyOperation a=5 b=10 jobName="My job" shots=100 timeout=60 poll=10 jobParams={"Key1":"Val1","Key2":"Val2"}
Out[]: Submitting MyOperation to target provider.qpu...
Job successfully submitted for 100 shots.
Job name: My job
Job ID: <Azure Quantum job ID>
Waiting up to 60 seconds for Azure Quantum job to complete...
[1:23:45 PM] Current job status: Waiting
[1:23:55 PM] Current job status: Waiting
[1:24:05 PM] Current job status: Executing
[1:24:15 PM] Current job status: Succeeded
<detailed results of completed job>