✉ 뉴스레터
🌐 한국어
소프트웨어3 분 읽기

IBM, SDK v2.6 출시로 Qiskit의 Python 의존성을 한층 더 낮추다

IBM은 Qiskit SDK v2.6에 C API 패스 매니저, 네이티브 QPY 직렬화, 사용자 정의 연산을 추가하며 Python 없이도 가능한 워크플로를 확대하고 있다.

이 페이지는 영어에서 번역되었습니다. 기업명, 제품명, 출처 링크는 변경되지 않았습니다. 영문 원문 보기

IBM이 Qiskit SDK v2.6을 출시했다. 이번 소프트웨어 업데이트는 널리 알려진 Python 계층보다 프로젝트의 저수준 C 인터페이스에 초점을 맞췄다. IBM의 10월 22일 릴리스 요약에 따르면, 이번 업데이트는 C API에 패스 매니저 프레임워크를 추가하고, 컴파일 언어 워크플로에 QPY 회로 직렬화를 도입했으며, 개발자가 C에서 직접 사용자 정의 양자 연산을 정의할 수 있도록 했다. 종합하면, 이번 변경은 Python 런타임 없이도 더 많은 Qiskit 기능을 사용할 수 있게 하려는 IBM의 노력을 이어가는 것이다.

발표 내용

이번 v2.6 릴리스는 Qiskit의 C API를 확장한다. IBM은 이를 컴파일 언어에서 사용할 수 있도록 Qiskit의 Rust 기반 핵심 데이터 모델에 접근하는 저수준 인터페이스라고 설명한다. IBM에 따르면 이 인터페이스는 Python 없이 독립적으로 사용하는 경우뿐 아니라, Qiskit의 Rust 객체와 직접 상호작용하는 더 높은 성능의 Python 확장을 구축하는 용도도 염두에 두고 설계됐다.

Qiskit v2.6에서 IBM은 해당 C API에 범용 패스 매니저 프레임워크를 추가했다. 새 구성 요소에는 QkPassManager, QkPassVtable, QkIrHandle이 포함되며, 이를 통해 개발자는 컴파일러 패스를 만들고 여러 중간 표현에 걸쳐 타입 검사를 거치는 파이프라인으로 연결할 수 있다.

이번 릴리스는 또한 C API에서 QPY 직렬화 함수를 노출해, C, C++, Julia 같은 언어로 작성된 프로그램이 Python을 거치지 않고도 Qiskit의 바이너리 회로 포맷을 읽고 쓸 수 있도록 했다. IBM에 따르면, 여기에 더해 개발자는 C vtable 인터페이스를 통해 하드웨어 네이티브 연산을 포함한 사용자 정의 연산도 정의할 수 있다.

기술적 세부사항

IBM에 따르면 새로운 패스 매니저 프레임워크는 각 패스에 대해 선언된 입력 및 출력 표현을 확인함으로써 실행 전에 컴파일 파이프라인을 검증할 수 있다. 기본 제공 표현에는 QkCircuit와 QkDag가 포함되며, 사용자 정의 IR도 QkIrHandle을 통해 기술할 수 있다.

이는 중요한 변화다. Qiskit의 컴파일러 작업은 여러 표현을 거치며 프로그램을 점차 낮은 수준으로 변환하는 방식으로 점점 더 조직되고 있기 때문이다. 이런 패턴은 현재의 트랜스파일 흐름뿐 아니라 향후 오류 내성 도구체인에도 관련이 있다.

직렬화 측면에서 Qiskit 2.6은 QPY 포맷 v18을 기본값으로 삼는다. IBM은 이 버전이 양자 레지스터와 고전 레지스터에 더 압축적인 인코딩을 사용해 직렬화된 회로의 크기를 줄인다고 설명한다. 회사에 따르면 C API를 통해 생성된 회로는 Python의 qiskit.qpy 모듈과 계속 호환된다.

이번 릴리스는 지원되는 최소 Python 런타임을 3.10으로 유지하는 한편, 이제 소스에서 빌드하려면 Rust 1.89가 필요하다. IBM의 로드맵 페이지는 또한 Qiskit 2.6.0이 2026년 10월 16일에 출시됐으며, 버그 수정은 패치 릴리스 또는 다음 마이너 릴리스를 통해 제공될 것이라고 밝히고 있다.

왜 중요한가

대부분의 Qiskit 사용자에게 Python은 여전히 주요 진입점이다. 그러나 IBM은 분명히 다른 배포 모델도 함께 구축하고 있다. 즉, 동일한 핵심 컴파일러와 실행 스택에 컴파일 언어로 접근하는 모델이다.

이 같은 변화는 고성능 컴퓨팅 환경과 관련이 있다. 이런 환경에서는 Python이 패키징, 런타임, 또는 통합 측면에서 제약이 될 수 있기 때문이다. IBM 문서에 따르면 C API는 내부 Rust 데이터 모델에 대해 정의된 ABI를 제공하도록 설계됐으며, 회사 블로그는 v2.6을 Python이 설치되지 않은 환경에서 Qiskit을 사용하는 방향으로 나아가는 또 하나의 단계로 설명한다.

이는 더 넓은 범위의 아키텍처 전환 신호이기도 하다. Qiskit 로드맵에 따르면 IBM은 v2.7에서 C 인터페이스에 대한 공식 ABI 및 API 안정성을 목표로 하고 있으며, 오류 내성 컴파일을 위한 새로운 미들엔드 IR도 함께 추진하고 있다. v2.8에 대해 로드맵은 BackendV3를 가리키며, 이를 Python과 C에 노출되는 Rust 네이티브 백엔드 인터페이스로 설명하고 있다.

주목할 점

당장의 질문은 안정성이다. IBM의 현재 C API 문서는 이 인터페이스가 여전히 실험적 단계로 간주돼야 하며, 마이너 릴리스 사이에 변경될 수 있다고 밝히고 있다. 이는 깊은 수준의 통합을 검토하는 소프트웨어 팀에 중요한 단서다.

따라서 다음 이정표는 Qiskit 2.7이다. GitHub 로드맵에 따르면 이 버전은 C API에 대한 안정성 보장을 정의하고 컴파일러 기능을 더 확장할 것으로 예상된다. IBM이 이를 실현한다면, Qiskit의 비Python 경로는 내부 배관 프로젝트라기보다 컴파일형 양자 소프트웨어 스택을 위한 프로덕션 인터페이스에 더 가까워 보이기 시작할 것이다.

출처

이 페이지의 사실 정보는 아래 출처를 바탕으로 DesignQuantum이 수집했습니다.

  1. Qiskit SDK v2.6 release summary | IBM Quantum Computing Blog ibm.com
  2. Qiskit SDK C API documentation (latest version) | IBM Quantum Documentation quantum.cloud.ibm.com
  3. Roadmap github.com
  4. IBM Releases Qiskit SDK v2.6 with C API Pass-Manager Framework, Native QPY Serialization, and Custom Operations - Quantum Computing Report quantumcomputingreport.com