다음을 통해 공유


Azure Quantum 작업 작업

Azure Quantum에서 양자 프로그램을 실행하는 경우 작업을 만들고 실행합니다. 작업을 만들고 실행하는 단계는 작업 유형 및 공급자와 target 작업 영역에 대해 구성하는 단계에 따라 달라집니다.

작업 속성

모든 작업에는 다음과 같은 공통 속성이 존재합니다.

속성 Description
ID 작업의 고유 식별자입니다. 작업 영역 내에서 고유해야 합니다.
공급자 작업을 실행할 ‘사용자’입니다.
Target 작업을 실행할 ‘장치’입니다. 대표적인 예는 공급자가 제공하는 양자 하드웨어 또는 양자 시뮬레이터입니다.
이름 작업을 구성하는 데 도움이 되는 사용자 정의 이름입니다.
매개 변수 에 대한 선택적 입력 매개 변수입니다 targets. 사용 가능한 매개 변수 정의는 선택한 target 매개 변수에 대한 설명서를 참조하세요.

작업을 만들면 해당 상태 및 실행 기록에 대한 다양한 메타데이터를 사용할 수 있습니다.

작업 수명 주기

양자 프로그램을 작성한 후에는 작업을 선택하고 target 제출할 수 있습니다.

이 다이어그램은 작업을 제출한 후의 기본 워크플로를 보여줍니다.

Azure Quantum 작업 흐름

먼저 Azure Quantum은 작업 영역에서 구성한 Azure Storage 계정에 작업을 업로드합니다. 그런 다음 작업에 지정한 공급자의 작업 큐에 작업이 추가됩니다. 그런 다음, Azure Quantum은 프로그램을 다운로드하고 공급자를 위해 번역합니다. 공급자는 작업을 처리하고 Azure Storage에 출력을 반환합니다. 여기에서 출력을 다운로드할 수 있습니다.

작업 모니터링

작업을 제출하면 작업의 상태를 모니터링할 수 있습니다. 작업에는 다음과 같은 가능한 상태가 있습니다.

Status 설명
기다리기 작업 실행 되기를 기다리고 있습니다. 일부 작업은 대기 상태에서 사전 처리 작업을 수행합니다. waiting 는 항상 첫 번째 상태이지만 작업을 관찰하기 executing 전에 상태로 이동할 수 있습니다 waiting.
실행 target 현재 작업이 실행 중입니다.
succeeded 작업이 성공했으며 출력을 사용할 수 있습니다. 최종 상태입니다.
failed 작업이 실패했으며 오류 정보를 사용할 수 있습니다. 최종 상태입니다.
취소 사용자가 작업 실행을 취소하도록 요청했습니다. 최종 상태입니다. 자세한 내용은 이 문서의 작업 취소를 참조하세요.

succeeded, failedcancelled 상태는 최종 상태로 간주됩니다. 작업이 이러한 상태 중 하나에 있으면 더 이상 업데이트가 발생하지 않으며 해당 작업 출력 데이터는 변경되지 않습니다.

이 다이어그램은 가능한 작업 상태 전환을 보여 줍니다.

Azure Qauntum에 대한 작업 제출 워크플로를 보여 주는 다이어그램

작업이 성공적으로 완료되면 Azure Storage 계정의 출력 데이터에 대한 링크가 표시됩니다. 이 데이터에 액세스하는 방법은 작업을 제출하는 데 사용한 SDK 또는 도구에 따라 다릅니다.

작업을 모니터링하는 방법

Python, Azure Portal 및 Azure CLI를 통해 작업을 모니터링할 수 있습니다.

작업의 모든 속성은 .에서 job.details액세스할 수 있습니다. 예를 들어 다음과 같이 작업 이름, 상태 및 ID에 액세스할 수 있습니다.

print(job.details)
print("\nJob name:", job.details.name)
print("Job status:", job.details.status)
print("Job ID:", job.details.id)
{'additional_properties': {'isCancelling': False}, 'id': '0fc396d2-97dd-11ee-9958-6ca1004ff31f', 'name': 'MyPythonJob', 'provider_id': 'rigetti'...}
Job name: MyPythonJob
Job status: Succeeded
Job ID: fc396d2-97dd-11ee-9958-6ca1004ff31f

작업 수

많은 수의 작업에서 발생하는 개수를 얻으려면 도구의 Quantum Development Kit 로컬 설치를 수행할 수 있습니다. 로컬 설치를 사용하면 작업 ID를 로컬로 저장할 수 있습니다.

다음 코드를 복사하여 작업 목록과 해당 결과를 가져올 수 있습니다.

for job in workspace.list_jobs():
    print(job.id, job.details.name, job.details.output_data_uri)

작업 취소

작업이 아직 최종 상태가 아닌 경우(예: succeeded, failed또는 cancelled) 작업 취소를 요청할 수 있습니다. 상태가면 모든 공급자가 작업을 취소합니다 waiting . 그러나 작업이 상태인 경우 모든 공급자가 취소를 executing 지원하지는 않습니다.

참고 항목

작업이 실행되기 시작한 후에도 작업을 취소하는 경우 계정에 해당 작업의 일부 또는 전체 금액이 청구될 수 있습니다. 선택한 공급자에 대한 청구 설명서를 참조하세요.