[논문 리뷰] QCOR: A Language Extension Specification for the Heterogeneous Quantum-Classical Model of Computation
QCOR는 C++ 기반의 언어 확장으로, 이질적인 양자-고전 컴퓨팅을 위한 원본 단일 프로그래밍을 가능하게 하며, 라이브러리 호출과 지시어를 통해 변이형, 반복형, 피드포워드 양자 알고리즘을 지원한다. 이는 근접한 노이지 중간 규모 양자(NISQ) 장치를 위한 하드웨어에 종속되지 않는 고수준 추상화를 제공하며, 자동 오류 보정 및 고성능 컴퓨팅(HPC) 워크플로우와의 통합을 내장하고 있다.
Quantum computing is an emerging computational paradigm that leverages the laws of quantum mechanics to perform elementary logic operations. Existing programming models for quantum computing were designed with fault-tolerant hardware in mind, envisioning standalone applications. However, near-term quantum computers are susceptible to noise which limits their standalone utility. To better leverage limited computational strengths of noisy quantum devices, hybrid algorithms have been suggested whereby quantum computers are used in tandem with their classical counterparts in a heterogeneous fashion. This {\it modus operandi} calls out for a programming model and a high-level programming language that natively and seamlessly supports heterogeneous quantum-classical hardware architectures in a single-source-code paradigm. Motivated by the lack of such a model, we introduce a language extension specification, called QCOR, that enables single-source quantum-classical programming. Programs written using the QCOR library and directives based language extensions can be compiled to produce functional hybrid binary executables. After defining the QCOR's programming model, memory model, and execution model, we discuss how QCOR enables variational, iterative, and feed forward quantum computing. QCOR approaches quantum-classical computation in a hardware-agnostic heterogeneous fashion and strives to build on best practices of high performance computing (HPC). The high level of abstraction in the developed language is intended to accelerate the adoption of quantum computing by researchers familiar with classical HPC.
연구 동기 및 목표
- NISQ 시대의 이질적 양자-고전 시스템을 위한 통합적 고수준 프로그래밍 모델의 부족을 해결하기 위해.
- 기존 C++ 관용어와 HPC 최적 실천 방식을 활용하여 효율적이고 이식 가능하며 확장 가능한 양자-고전 애플리케이션 개발을 가능하게 하기 위해.
- 노이즈가 많고 큐비트의 공명 시간이 제한된 근접한 양자 하드웨어에 필수적인 반복형 및 변이형 양자 알고리즘을 지원하기 위해.
- 양자 프로그래밍에서 조합 가능한 ObjectiveFunction 데코레이터를 통해 자동 오류 보정을 위한 메커니즘을 제공하기 위해.
- 확장 가능한 컴파일러 및 실행 모델을 통해 향후 고장 내성 양자 컴퓨팅의 기반을 마련하기 위해.
제안 방법
- QCOR을 C++에 대한 라이브러리 및 지시어 기반 확장으로 도입하여 단일 소스 코드 내에서 양자 커널과 고전적 제어 흐름을 표현한다.
- 고전적 C++ 애플리케이션 내에서 양자 커널을 비동기적으로 실행할 수 있는 프로그래밍 모델을 정의한다.
- 양자 상태와 관측량을 고수준 추상화를 통해 관리하는 메모리 모델을 수립하여 효율적인 상태 전달 및 측정을 가능하게 한다.
- 양자 커널을 통일된 인터페이스를 통해 다양한 양자 보조 처리기에서 컴파일하고 실행할 수 있는 하드웨어에 종속되지 않는 실행 모델을 활용한다.
- 변이형 알고리즘의 비용 함수를 표현하기 위해 ObjectiveFunction 추상화를 사용하며, 조합 및 데코레이션 기능을 통해 계층적 오류 보정 전략을 지원한다.
- 기존의 HPC 실천 방식, 예를 들어 메모리 관리, 타입 안정성, 성능 이식 가능성을 활용하여 효율성과 상호운용성을 보장한다.
실험 결과
연구 질문
- RQ1단일 소스 파rag마 내에서 이질적 양자-고전 실행을 원천적으로 지원할 수 있는 고수준 프로그래밍 모델은 어떻게 설계할 수 있는가?
- RQ2노이지 중간 규모 양자(NISQ) 장치에서 변이형 및 반복형 양자 알고리즘의 효율적 구현을 가능하게 하기 위해 필요한 추상화는 무엇인가?
- RQ3성능나 이식 가능성을 희생시키지 않고 오류 보정을 양자 프로그래밍 워크플로우에 체계적으로 조합하고 통합하는 방법은 무엇인가?
- RQ4양자-고전 프로그래밍은 얼마나 많은 정도로 C++와 같은 고전적 HPC 언어 및 프레임워크와 상호운용 가능하게 만들 수 있는가?
- RQ5컴파일러 및 런타임 지원은 하이브리드 양자-고전 애플리케이션의 확장 가능하고 이식 가능하며 효율적인 실행을 가능하게 하기 위해 어떤 역할을 하는가?
주요 결과
- QCOR은 라이브러리 호출과 지시어를 통해 양자 커널을 통합한 단일 C++ 소스 파일을 사용하여 하이브리드 양자-고전 애플리케이션을 표현할 수 있다.
- QCOR은 관측량의 기대값을 계산하는 일등급의 ObjectiveFunction 추상화를 통해 변이형 양자 알고리즘을 지원한다.
- 오류 보정 전략은 데코레이터 스타일의 ObjectiveFunction 조합을 통해 계층적으로 구성할 수 있으며, 핵심 양자 논리의 수정 없이도 가능하다.
- QCOR 모델은 하드웨어에 종속되지 않으며 기존 HPC 시스템과의 상호운용성을 갖추고 있어 다양한 양자 보조 처리기 아키텍처 간 이식 가능성을 보장한다.
- 비동기 실행과 효율적 메모리 관리를 지원하여 확장성을 위해 고성능 컴퓨팅 표준과 일치한다.
- 이 접근법은 기능적 하이브리드 바이너리로의 효율적 컴파일을 가능하게 하여 대규모 실용적 양자-고전 워크로드의 실현 가능성을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.