연습 - Azure Portal을 사용하여 양자 프로그램 실행

완료됨

Azure Quantum 포털에는 샘플 Notebooks가 포함된 Notebooks 갤러리가 포함되어 있습니다. 이러한 Notebooks를 사용하여 자체 양자 프로그램을 실행할 수 있습니다.

필수 구성 요소

  • Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Quantum 작업 영역 만들기

  1. Azure 구독에 대한 자격 증명을 사용하여 Azure Portal에 로그인합니다.
  2. 리소스 만들기를 선택한 다음 Azure Quantum을 검색합니다. 결과 페이지에 Azure Quantum 서비스 타일이 표시됩니다.
  3. Azure Quantum을 선택한 다음 만들기를 선택합니다. 작업 영역을 만드는 양식이 열립니다.
  4. 새 작업 영역과 연결할 구독을 선택합니다.
  5. 빨리 만들기를 선택합니다.
  6. 이름을 입력하고 작업 영역의 지역을 선택합니다.
  7. 만들기를 실행합니다.

작업 영역 배포는 몇 분 정도 걸릴 수 있습니다. 상태 및 배포 세부 정보는 포털에서 업데이트됩니다.

Azure Quantum Notebooks를 사용하여 양자 프로그램 실행

Notebook 만들기

  1. Azure Portal에서 새 Quantum 작업 영역을 선택합니다.
  2. Notebook을 선택합니다.
  3. 내 Notebooks를 클릭하고 새로 추가를 클릭합니다.
  4. 파일 이름(예: submit-quantum-job.ipynb)을 입력하고 파일 만들기를 클릭합니다.
  5. Notebooks는 내 Notebooks에서 찾을 수 있으며 이제 Notebooks를 실행할 수 있습니다.

Azure Quantum 작업 영역에 연결

Azure Quantum 서비스에 연결하려면 리소스 ID와 Azure Quantum 작업 영역의 위치가 필요합니다. Azure Portal 작업 영역의 개요 섹션에서 이 값을 찾을 수 있습니다.

Notebook의 새 셀에 다음 코드를 복사하고 resource_idlocation의 값을 작업 영역의 값으로 바꿉니다.


import azure.quantum

workspace = Workspace ( 
    resource_id = "", # Add your resource_id 
    location = ""  # Add your workspace location (for example, "westus") 
)

Q# 연산 작성

  1. 먼저, 이후 셀에서 사용되는 "%%qsharp" 매직 명령을 사용하도록 설정하려면 qsharp 패키지를 가져와야 합니다. Notebook의 새 셀에 다음 코드를 추가합니다.

    import qsharp
    
  2. Notebook의 새 셀에 다음 코드를 복사합니다. 이 코드는 %%qsharp 'magic' 명령을 사용하여 임의 비트를 생성하는 Q# 작업을 정의합니다.

    %%qsharp
    
    operation Random() : Result {
        use q = Qubit();
        H(q);
        let result = M(q);
        Reset(q);
        return result
    }
    
    operation RandomNBits(N: Int): Result[] {
        mutable results = [];
        for i in 0 .. N - 1 {
            let r = Random();
            set results += [r];
        }
        return results
    }
    
    • Random 작업은 H 게이트를 사용하여 큐비트를 01의 중첩에 넣은 다음 큐비트를 측정하여 임의의 비트를 가져옵니다. Reset 연산은 큐비트를 |0⟩ 상태로 다시 설정합니다.
    • RandomNBits 연산은 정수 N을 입력으로 사용하고 N 임의 비트의 배열을 반환합니다.

Q# 작업 실행

  1. Rigetti 시뮬레이터에 대해 100개의 샷에 대해 RandomNBits 작업을 실행하려면 Notebook의 새 셀에 다음 코드를 추가합니다.

    operation = qsharp.compile("RandomNBits(4)")
    target = workspace.get_targets("rigetti.sim.qvm")
    job = target.submit(operation, "my-azure-quantum-job", input_params={ "count": 100 })
    
    # Wait for the job to complete
    job.get_results()
    
  2. 전체 프로그램을 위에서 아래로 실행하려면 모두 실행을 선택합니다.

  3. 예제를 살펴보고 각 셀을 위에서 아래로 개별적으로 실행하려면 실행할 셀을 선택하고 실행 아이콘을 선택합니다.