quantumlib/qsim

Fast C++ and Python library for state-vector simulation of quantum circuits.

해결하는 문제

qsim은 양자 회로를 위한 고성능 상태 벡터 시뮬레이터입니다. 상태를 복소수 진폭의 벡터로 표현하고 행렬-벡터 곱을 적용하여 양자 상태의 시간 진화를 시뮬레이션할 수 있게 해줍니다.

작동 방식

완전한 상태 벡터(Schrödinger) 시뮬레이터로서 qsim은 큐비트 수 $n$ 에 대해 $2^n$ 개의 모든 진폭을 계산합니다. 고성능을 달성하기 위해 다음과 같은 최적화 기법을 사용합니다:

  • 게이트 융합(Gate Fusion): 여러 양자 게이트를 하나의 연산으로 통합하여 연산 횟수를 줄입니다.
  • 하드웨어 가속: 벡터화를 위한 AVX/FMA 명령어, 멀티스레딩을 위한 OpenMP, 그리고 더 빠른 계산을 위한 GPU 지원을 활용합니다.
  • 정밀도: 시뮬레이션 속도를 높이기 위해 단정밀도 산술을 사용합니다.

대상 사용자

C++ 라이브러리를 직접 사용하거나 qsimcirq 인터페이스를 통해 Python 사용자가 양자 회로를 시뮬레이션해야 하는 사용자를 대상으로 합니다. 특히 Cirq 프레임워크를 사용하여 노이즈가 있는 중규모 양자(NISQ) 회로를 모델링하는 사용자에게 적합합니다.

주요 특징

  • 고성능: CPU 및 GPU에서 벡터 연산과 멀티스레딩에 대해 고도로 최적화되어 있습니다.
  • Cirq 통합: Cirq로 작성된 회로를 시뮬레이션하기 위한 전용 인터페이스(qsimcirq)를 포함합니다.
  • 검증된 실적: Nature(2019)에 게재된 획기적인 교차 엔트로피 벤치마크 결과를 생성하는 데 사용되었습니다.
  • 유연한 API: C++ 라이브러리와 Python 패키지 모두로 제공됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트