%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/AddProvider
  • UnrecognizedOperationName: 지정된 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>