AzureQuantum Development Kit란Q#?

Azure Quantum Development Kit (최신 QDK)는 Azure Quantum 서비스와 인터페이스하는 데 필요한 SDK입니다. 를 사용하여 Quantum Development KitAzure Quantum의 양자 하드웨어에서 실행되는 양자 프로그램을 빌드할 수 있습니다.

참고

Microsoft Quantum Development Kit (클래식 QDK)는 2024년 6월 30일 이후에 더 이상 지원되지 않습니다. 기존 QDK 개발자인 경우 새로운 Azure Quantum Development Kit (최신 QDK) 로 전환하여 양자 솔루션을 계속 개발하는 것이 좋습니다. 자세한 내용은 최신 QDK로 코드 마이그레이션을 참조하세요Q#.

최신 QDK는 FTQC(Fault-Tolerant Quantum Computing)에 사용할 수 있는 유일한 개발 키트입니다. 최신 QDK를 사용하면 다음을 수행할 수 있습니다.

  • 코드 디버그: 클래식 및 양자 코드를 단계별로 실행할 수 있는 양자 컴퓨팅 디버거를 제공합니다. 스파스 메모리 내 시뮬레이터와 함께 최대 수천 개의 논리 큐비트의 빠른 시뮬레이션을 제공합니다.

  • 플랫폼을 선택합니다. 최신 QDK는 설치 없이 웹 브라우저에서 실행되며 PC, Mac 또는 Linux 컴퓨터에서 VS Code 확장을 사용합니다.

  • 코드를 더 빠르게 작성합니다 . IntelliSense를 사용하여 구문 강조 표시 및 지능형 코드 완성 및 Copilot 지원 코드의 전체 블록을 작성합니다.

  • 선택한 하드웨어에서 다음을 실행합니다 . QDK는 Azure Quantum과 원활하게 통합되어 광범위한 양자 컴퓨터 및 시뮬레이터에서 알고리즘을 실행합니다.

  • FTQC를 위한 디자인: 최첨단 Azure Quantum Resource Estimator와 쌍을 이루는 이 언어는 양자 컴퓨팅 Q#을 위해 특별히 설계된 언어를 제공하므로 큐비트 아키텍처에 대해 생각하지 못하게 하고 하드웨어를 추상화하며 사용자가 사용하는 양자 컴퓨터 target에서 수행하는 모든 클래식 및 양자 계산을 혼합할 수 있습니다.

양자 컴퓨팅 과정을 가속화하려면 Azure Quantum 웹 사이트의 고유한 기능인 Azure Quantum을 사용하여 코드를 검사. 여기서는 기본 제공 Q# 샘플 또는 사용자 고유 Q# 의 프로그램을 실행하고, 프롬프트에서 새 Q# 코드를 생성하고, 한 번의 클릭으로 웹용 VS Code 에서 코드를 열고 실행하고, Copilot에게 양자 컴퓨팅에 대한 질문을 할 수 있습니다.

양자 프로그래밍 언어 Q#

최신 QDK에는 양자 프로그램을 만들기 위해 알고리즘 수준에서 작업에 집중할 수 있는 고급 오픈 소스 프로그래밍 언어인 양자 프로그래밍 언어Q#가 포함되어 있습니다.

Q# 는 양자 알고리즘을 개발하고 실행하기 위한 고급 오픈 소스 프로그래밍 언어입니다. 이는 (QDK)의 Quantum Development Kit 일부이며 하드웨어에 구애받지 않으며, 전체 범위의 양자 애플리케이션으로 스케일링하고, 실행을 최적화하도록 설계되었습니다.

프로그래밍 언어인 Q#은 Python, C# 및 F#에서 친숙한 요소를 가져오고 반복, if/then 문 및 공통 데이터 형식을 사용하여 프로그램을 작성하는 기본 절차 모델을 지원합니다. 또한 양자 및 클래식 계산의 통합을 허용하는 반복 성공과 같은 새로운 양자별 데이터 구조 및 연산을 소개합니다. 예를 들어, 기존 프로그램의 흐름 제어는 양자 측정의 결과를 기반으로 할 수 있습니다.

알고리즘을 작성할 때 양자 프로그래밍 언어는 언어, 컴파일러 및 런타임에 대한 다음 요구 사항을 충족해야 합니다.

  • 추상 큐비트. 양자 알고리즘은 특정 하드웨어 또는 레이아웃에 연결되지 않은 큐비트를 사용합니다. 컴파일러 및 런타임은 프로그램 큐비트에서 실제 큐비트로의 매핑을 처리합니다.
  • 양자 및 클래식 계산. 범용 양자 컴퓨터에서는 클래식 및 양자 계산을 수행하는 기능이 필수적입니다.
  • 물리학의 법칙을 존중합니다. 양자 알고리즘은 양자 물리학의 규칙을 따릅니다. 예를 들어 큐비트 상태를 직접 복사하거나 액세스할 수 없습니다.

자세한 내용은 양자 프로그래밍 언어 사용자 가이드를 참조 Q# 하세요.

Azure 시작 Quantum Development Kit

양자 프로그래밍을 시작하는 방법에는 여러 가지가 있습니다. 요구 사항에 가장 적합한 옵션을 선택할 수 있습니다.

처음 사용자는 참여하는 각 양자 하드웨어 공급자와 함께 사용할 수 있는 무료 $500(USD)Azure Quantum 크레딧 을 자동으로 받습니다. 크레딧을 모두 사용했는데 더 필요한 경우 Azure Quantum Credits 프로그램에 신청할 수 있습니다.

Azure Quantum 웹 사이트

Azure Quantum 웹 사이트는 양자 프로그래밍을 시작하는 가장 쉬운 방법입니다. Azure Quantum 웹 사이트의 온라인 코드 편집 기를 사용하면 설정 없이 브라우저에서 코드를 실행하고 Q# Copilot에 도움을 요청할 수 있습니다. 온라인 코드 편집기를 한 번 클릭하면 웹의 VS Code 에서 코드를 열고 미리 구성된 양자 환경에서 무료로 작업을 계속할 수 있습니다.

참고

Azure Quantum 웹 사이트는 무료이며 Azure 계정이 필요하지 않습니다.

Azure Quantum 포털의 샘플

추가 소프트웨어를 설치하지 않고 Q# 프로그램 연습을 시작하고 작성하기 위해, Azure Portal Azure Quantum 작업 영역에서 제공하는 호스트된 Jupyter Notebook을 사용할 수 있습니다. 샘플 갤러리에는 주석이 달린 Notebook 샘플 컬렉션이 포함되어 있습니다. 클라우드 기반 시뮬레이터 또는 실제 양자 컴퓨터에서 탐색하고 실행하려는 샘플을 선택합니다.

참고

호스트된 Jupyter Notebook을 사용하려면 Azure 계정이 필요합니다. Azure 계정이 없으면 체험 계정을 만들 수 있습니다.

로컬 개발 환경

로컬 개발 환경을 선호하는 경우 Visual Studio Code 최신 QDK 확장을 설치할 수 있습니다. 최신 QDK 확장은 구문 강조 표시, 실시간 코딩 피드백 및 디버깅을 포함하여 에 대한 Q#모든 기능을 갖춘 개발 환경을 제공합니다.

최신 QDK 확장을 시작하려면 다음 자습서를 참조 하세요.

최신 QDK에는 및 양자 컴퓨팅에 대해 Q# 자세히 알아보는 데 사용할 수 있는 Q# 기본 제공 샘플 집합이 포함되어 있습니다. 샘플을 보려면 새 Q# 파일을 열고 를 입력 sample한 다음 옵션 목록에서 보려는 샘플을 선택합니다.

양자 개발 워크플로

다음 다이어그램은 양자 프로그램이 아이디어에서 Azure Quantum의 완전한 구현으로 넘어가는 단계와 각 단계에 대해 제공되는 도구를 보여줍니다.

양자 프로그래밍 개발 워크플로를 보여 주는 다이어그램

개발 환경 선택

선호하는 개발 환경에서 양자 프로그램을 실행합니다. Azure Quantum 웹 사이트의 온라인 코드 편집기, Azure Portal Azure Quantum 작업 영역에서 사용할 수 있는 호스트된 Jupyter Notebook 또는 고유한 로컬 개발 환경을 사용할 수 있습니다.

양자 코드 작성

QDK는 양자 컴퓨팅을 위한 Q#QiskitCirq 언어에 대한 지원도 제공합니다.

시작하려면 자습서를 Q# 따르고 중첩, 얽힘, Grover의 양자 알고리즘 및 기타 양자 현상과 같은 양자 개념을 탐색할 수 있습니다.

Python과 통합

QDK를 사용하면 Python과 프로그램을 통합 Q# 할 수 있습니다. Python 프로그램을 사용하여 작업을 호출 Q# 할 수 있습니다.

리소스 예측

양자 하드웨어에서 실행하기 전에 먼저 기존 하드웨어에서 프로그램을 실행할 수 있는지와 얼마나 많은 리소스를 소비하는지를 파악해야 합니다.

Azure Quantum 리소스 추정기를 사용하면 아키텍처 결정을 평가하고, 큐비트 기술을 비교하고, 지정된 양자 알고리즘을 실행하는 데 필요한 리소스를 결정할 수 있습니다. 미리 정의된 내결함성 프로토콜 중에서 선택하고 기본 물리적 큐비트 모델의 가정을 지정할 수 있습니다.

자세한 내용은 첫 번째 리소스 예측 실행을 참조하세요.

참고

Azure Quantum 리소스 예측 도구는 무료이며 Azure 계정이 필요하지 않습니다.

시뮬레이터에서 프로그램 실행

양자 프로그램을 컴파일하고 실행할 때 QDK는 양자 시뮬레이터의 instance 만들고 코드를 전달합니다Q#. 시뮬레이터는 Q# 코드를 사용하여 큐비트를 만들고(퀀텀 입자 시뮬레이션), 변환을 적용하여 해당 상태를 수정합니다. 그런 다음, 시뮬레이터의 양자 연산 결과가 프로그램에 반환됩니다. 시뮬레이터에서 Q# 코드를 격리하면 알고리즘이 양자 물리학 법칙을 따르고 양자 컴퓨터에서 올바르게 실행될 수 있습니다.

Azure Quantum 서비스에 작업 제출

로컬 및 온라인 모두에서 선호하는 개발 환경을 통해 프로그램(작업이라고도 함)을 Azure Quantum에 제출할 Q# 수 있습니다. 자세한 정보는 Q# 작업 제출 방법을 참조하세요. Qiskit 및 Cirq 언어로 작성된 양자 회로를 실행하고 제출할 수도 있습니다.

Azure Quantum은 업계 리더가 제공하는 가장 강력하고 다양한 양자 하드웨어를 제공합니다. 지원되는 하드웨어 공급자의 현재 목록은 Quantum 컴퓨팅 공급자를 참조하세요.

참고

클라우드 기반 Quantinuum H 시리즈 에뮬레이터target 는 Azure 계정 없이 사용할 수 있습니다. Azure Quantum 공급자의 나머지 부분에 작업을 제출하려면 Azure 계정 및 양자 작업 영역이 필요합니다. 양자 작업 영역이 없는 경우 Azure Quantum 작업 영역 만들기를 참조하세요.

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

Azure Quantum에 작업을 제출한 후의 워크플로를 보여 주는 다이어그램

자세히 알아보려면 Quantum Katas에서 일반적인 양자 연산 및 큐비트 조작 방법과 같은 양자 컴퓨팅 개념을 이해하기 쉽게 소개합니다.