[논문 리뷰] OpenQL : A Portable Quantum Programming Framework for Quantum Accelerators
OpenQL은 C++ 또는 Python을 사용하여 고수준 양자 알고리즘을 구현할 수 있도록 해주는 이식 가능한 양자 프로그래밍 프레임워크이며, 모듈러 컴파일러 스택을 통해 최적화된 하드웨어 특정 코드로 컴파일합니다. 초전도체 및 Si-Spin 큐비트 기술 간에 이식 가능성을 달성하기 위해 기술에 종속되지 않는 cQASM 중간 표현과 장치 고려 사항을 반영한 적응형 스케줄링을 통해 하드웨어 세부 정보를 추상화합니다.
With the potential of quantum algorithms to solve intractable classical problems, quantum computing is rapidly evolving and more algorithms are being developed and optimized. Expressing these quantum algorithms using a high-level language and making them executable on a quantum processor while abstracting away hardware details is a challenging task. Firstly, a quantum programming language should provide an intuitive programming interface to describe those algorithms. Then a compiler has to transform the program into a quantum circuit, optimize it and map it to the target quantum processor respecting the hardware constraints such as the supported quantum operations, the qubit connectivity, and the control electronics limitations. In this paper, we propose a quantum programming framework named OpenQL, which includes a high-level quantum programming language and its associated quantum compiler. We present the programming interface of OpenQL, we describe the different layers of the compiler and how we can provide portability over different qubit technologies. Our experiments show that OpenQL allows the execution of the same high-level algorithm on two different qubit technologies, namely superconducting qubits and Si-Spin qubits. Besides the executable code, OpenQL also produces an intermediate quantum assembly code (cQASM), which is technology-independent and can be simulated using the QX simulator.
연구 동기 및 목표
- 저수준 제어 세부 정보를 추상화하여 기반 하드웨어에 관계없이 양자 알고리즘 개발을 가능하게 하기 위해.
- 다양한 게이트 세트, 연결성 및 제어 전자기기 특성을 가진 다양한 양자 프로세서 아키텍처에 고수준 양자 알고리즘을 매핑하는 데 도전하는 문제를 해결하기 위해.
- 초전도체 및 반도체 큐비트를 포함한 여러 큐비트 기술을 지원하는 이식 가능한 컴파일러 스택을 제공하기 위해.
- 하드웨어 구성 파일에 동적으로 적응함으로써 동일한 고수준 코드를 다양한 양자 프로세서에서 실행할 수 있도록 하기 위해.
- 표준화된 중간 표현(중간 표현: cQASM)을 통해 시뮬레이션과 실제 양자 가속기에서의 실행을 모두 지원하기 위해.
제안 방법
- 저수준 하드웨어 지식 없이 양자 알고리즘을 작성할 수 있도록 C++ 및 Python에서 고수준 양자 프로그래밍 인터페이스를 구현하기 위해.
- 하드웨어 구성 파일에 포함된 게이트 분해 섹션을 사용하여 양자 연산을 기본 게이트로 분해하는 모듈러 컴파일러 스택을 설계하기 위해.
- 기술에 종속되지 않는 cQASM 중간 표현을 사용하여 알고리즘 기술 서술과 대상 특정 실행을 분리하기 위해.
- 다양한 제어 채널 간의 명령 지연, 지속 시간 및 큐비트 연결성 제약 조건을 고려한 하드웨어 인식 스케줄링을 적용하기 위해.
- 마이크로아키텍처 고려 사항(마이크로파, 플럭스, 읽기 제어 등)을 구성 파일에 통합하여 코드 생성을 안내하기 위해.
- 구성 파일 기반 컴파일링을 통해 동일한 고수준 소스 코드를 다양한 양자 프로세서에서 재사용함으로써 자동 코드 적응을 지원하기 위해.
실험 결과
연구 질문
- RQ1어떻게 양자 프로그래밍 프레임워크가 초전도체 및 Si-Spin 큐비트와 같은 다양한 큐비트 기술 간에 이식 가능성을 달성할 수 있는가?
- RQ2어떤 컴파일러 아키텍처가 이질적인 양자 프로세서 마이크로아키텍처에 고수준 양자 알고리즘을 효율적으로 매핑할 수 있는가?
- RQ3동일한 고수준 양자 프로그램이 최소한의 수정으로 다양한 양자 하드웨어 플랫폼에서 실행될 수 있는 정도는 어느 정도인가?
- RQ4큐비트 연결성, 게이트 세트 및 제어 전자기기 지연과 같은 하드웨어 특수 제약 조건을 양자 보존성과 성능을 유지하면서 어떻게 추상화할 수 있는가?
- RQ5통합된 중간 표현(cQASM)이 여러 양자 가속기 플랫폼 간에 시뮬레이션과 대상 특정 컴파일링을 모두 가능하게 할 수 있는가?
주요 결과
- OpenQL은 하드웨어 구성 파일만 변경하여 초전도체 및 Si-Spin 큐비트 플랫폼 모두에서 동일한 고수준 양자 알고리즘을 성공적으로 컴파일하고 실행했습니다.
- 프레임워크는 신호 생성기 및 측정 장치 지연 차이를 보상하기 위해 자동으로 작업을 재스케줄링하여 장치 간 일관된 제어를 달성했습니다.
- 랜덤라이즈드 램버팅, AllXY, 라비 진동 및 변분 양자 고유값 해석기 실험은 소스 코드 변경 없이 플랫폼 간 성공적으로 이식되었습니다.
- cQASM 중간 표현은 QX 시뮬레이터를 사용한 정확한 시뮬레이션을 가능하게 하고, 이식 가능하고 기술에 종속되지 않는 컴파일 타겟으로 기능했습니다.
- 컴파일러 스택은 다양한 양자 마이크로아키텍처에 대해 토폴로지, 게이트 분해 및 지연 인식 스케줄링을 활용하여 효과적인 최적화 및 매핑을 달성했습니다.
- OpenQL은 3 큐비트 파리티 체크 및 양자 화학에서의 에너지 유도 계산을 포함한 실제 양자 실험에서 실용적인 이식 가능성을 입증했습니다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.