Skip to main content
QUICK REVIEW

[논문 리뷰] XACC: A System-Level Software Infrastructure for Heterogeneous Quantum-Classical Computing

Alexander McCaskey, Dmitry I. Lyakh|arXiv (Cornell University)|2019. 11. 06.
Cloud Computing and Resource Management인용 수 4
한 줄 요약

XACC는 이질적 양자-고전 컴퓨팅을 위한 시스템 수준의 하드웨어에 종속되지 않는 소프트웨어 프레임워크이다. 이는 IBM, Rigetti, D-Wave, IonQ의 게이트 모델 및 앤날링 양자 프로세서를 지원하며, 다형성 있는 중간 표현과 크로스 컴파일 기능을 통해 최적화된 워크플로우를 제공하는 서비스 기반 아키텍처와 확장 가능한 인터페이스를 제공한다. 이는 저수준의 공동 프로그래밍을 가능하게 한다.

ABSTRACT

Quantum programming techniques and software have advanced significantly over the past five years, with a majority focusing on high-level language frameworks targeting remote REST library APIs. As quantum computing architectures advance and become more widely available, lower-level, system software infrastructures will be needed to enable tighter, co-processor programming and access models. Here we present XACC, a system-level software infrastructure for quantum-classical computing that promotes a service-oriented architecture to expose interfaces for core quantum programming, compilation, and execution tasks. We detail XACC's interfaces, their interactions, and its implementation as a hardware-agnostic framework for both near-term and future quantum-classical architectures. We provide concrete examples demonstrating the utility of this framework with paradigmatic tasks. Our approach lays the foundation for the development of compilers, associated runtimes, and low-level system tools tightly integrating quantum and classical workflows.

연구 동기 및 목표

  • 다음 세대 이질적 컴퓨팅 아키텍처에서 고전적 프로세서와 양자 프로세서 간의 밀접한 통합을 가능하게 하는 저수준 시스템 소프트웨어의 증가하는 필요성을 해결하기 위해.
  • 고수준의 원격 액세스 프로그래밍 모델을 대체하여 효율적인 실행 스케줄링, 메모리 관리, 그리고 양자-고전 워크로드에 대한 저수준 제어를 지원하는 시스템 소프트웨어 스택을 제공하기 위해.
  • 양자 가속 과학 계산을 위한 컴파일러, 디버거, 프로파일러, 벤치마크 도구를 지원하는 모듈식이고 확장 가능한 인fra를 제공하기 위해.
  • 게이트 모델 및 아디아바틱 양자 컴퓨터를 포함한 다양한 양자 백엔드 간의 크로스 컴파일 및 하드웨어 추상화를 가능하게 하기 위해.
  • 과학 계산 분야에서 복잡한 하이브리드 양자-고전 워크플로우를 지원하는 통합 소프트웨어 스택의 기반을 마련하기 위해.

제안 방법

  • XACC는 양자 가속기용 플러그인 가능한 백엔드를 갖춘 서비스 기반 아키텍처를 구현하여, 공통 인터페이스를 통해 하드웨어 특정 세부 정보를 추상화한다.
  • 다양한 양자 아키텍처를 통해 저수준 최적화 및 분석을 가능하게 하는 다형성 있는 중간 표현(IR)을 사용하여 양자 프로그램을 표현한다.
  • 통합 인터페이스를 통해 게이트 모델 및 양자 앤날링 워크플로우를 모두 지원하며, 다양한 백엔드 명령 세트 간의 양자 명령 자동 변환을 제공한다.
  • 공유 버퍼 추상화를 통해 고전 코드가 양자 커널을 가속기로 오프로드하고 결과를 회수할 수 있도록 공동 프로그래밍을 가능하게 한다.
  • XACC는 데이터 기반 회로 학습(DDCL) 알고리즘과 같은 내장된 알고리즘 추상화를 제공하여 목표 확률 분포와 일치하는 파라미터화된 양자 회로를 자동으로 학습시킨다.
  • 성능을 유지하기 위해 저수준 C++ 구현을 유지하면서도, 파이썬과 같은 고수준 언어와의 바인딩을 통해 통합을 지원한다.

실험 결과

연구 질문

  • RQ1어떻게 하이브리드 컴퓨팅 환경에서 고전적 프로세서와 양자 프로세서 간의 밀착 통합을 가능하게 하는 시스템 수준의 소프트웨어 인fra를 설계할 수 있는가?
  • RQ2하드웨어에 종속되지 않는 양자 프로그래밍을 지원하면서도 저수준 최적화와 효율적인 컴파일링을 가능하게 하는 아키텍처 패턴은 무엇인가?
  • RQ3통합된 중간 표현은 어떻게 다양한 양자 백엔드, 특히 게이트 모델 및 앤날링 아키텍처 간의 크로스 컴파일링과 최적화를 가능하게 하는가?
  • RQ4프로파일링, 디버깅, 벤치마킹을 포함한 종단 간 양자-고전 워크플로우를 지원하기 위해 필요한 메커니즘은 무엇인가?
  • RQ5모듈식이고 확장 가능한 프레임워크를 통해 고전 제어 흐름 내에서 양자 알고리즘을 어떻게 오케스트레이션할 수 있는가?

주요 결과

  • XACC는 IBM, Rigetti, D-Wave, IonQ를 포함한 다양한 양자 백엔드를 하드웨어에 종속되지 않는 인터페이스를 통해 추상화하여 플랫폼 간 이식 가능한 양자 코드를 가능하게 했다.
  • XACC는 다양한 명령 세트 간 크로스 컴파일링을 지원하며, 예를 들어 중간 표현 변환을 통해 IBM U/CNOT 게이트를 Rigetti RZ/CZ 등가물로 변환할 수 있다.
  • XACC의 DDCL 알고리즘은 목표 확률 분포와 일치하는 파라미터화된 양자 회로를 자동으로 학습시킬 수 있으며, 기울기 기반 최적화 및 손실 함수 평가를 지원한다.
  • XACC의 서비스 기반 아키텍처는 컴파일러, 디버거, 성능 도구의 모듈식 확장을 가능하게 하여 종합적인 양자 소프트웨어 개발 환경을 제공한다.
  • 공유 버퍼 추상화를 통해 고전 코드가 양자 커널을 오프로드하고 결과를 회수할 수 있는 이중 소스 공동 프로그래밍 모델의 작동 프로토타입을 구현했다.
  • XACC는 향후 단일 소스 컴파일러 및 성능 분 析 도구와 같은 필수적인 확장 가능한 양자 가속 과학 계산을 위한 시스템 소프트웨어의 기반을 마련했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.