IBM, 양자 프로그래밍 언어로 파이썬 이어 C언어 지원

컴퓨팅입력 :2025-07-06 09:32:58    수정:

이제 C 언어로도 양자 회로를 생성하고 제어할 수 있게 됐다.

IBM은 오픈소스 양자 소프트웨어 개발 키트(SDK) '키스킷(Qiskit)'에 C 언어 지원 기능을 새롭게 도입했다고 밝혔다. 기존 파이썬 기반 환경에 더해, 시스템 프로그래밍 언어인 C에서도 키스킷 회로를 직접 생성하고 조작할 수 있도록 한 것이다.

IBM은 이번 확장을 통해 양자 컴퓨팅과 고성능 컴퓨팅(HPC) 간 연계를 강화하고, 다양한 언어 생태계와의 통합을 본격화할 계획이다.

IBM에서 공개한 키스킷 2.1(이미지=IBM)

키스킷 2.1 버전의 핵심 변화는 C 언어에서 양자 회로를 직접 생성할 수 있는 인터페이스가 도입됐다는 점이다. IBM은 러스트기반으로 재설계한 키스킷의 핵심 컴포넌트를 외부에 C API 형태로 공개해, 파이썬 외 언어 환경에서도 내부 기능을 호출할 수 있는 기반을 마련했다.

이제 개발자는 파이썬을 사용하지 않고도, C 언어만으로 양자 회로를 만들 수 있게 됐다. 양자 비트를 섞거나 상태를 뒤바꾸는 기본적인 연산인 하다마드 게이트(Hadamard gate) 나 한 큐비트의 상태에 따라 다른 큐비트를 바꾸는 CX 게이트 같은 기본 양자 연산을 C 언어 코드로 직접 작성할 수 있다.

또한, 양자 회로가 어떤 양자 컴퓨터에서 실행될지를 지정하는 타깃 객체'도 C 언어 환경에서 직접 만들고 설정할 수 있다. 회로 설계뿐 아니라 실행 조건까지 C 코드로 제어할 수 있는 길이 열린 것이다.

IBM은 이번 C API 도입을 키스킷과 HPC 및 슈퍼컴퓨터 환경 간 통합을 위한 전략적 조치로 설명했다. 파이썬 인터프리터 기반의 성능 제약을 극복하고, 시스템 언어 수준에서 보다 빠르고 정밀한 제어를 가능하게 하겠다는 설명이다.

향후 트랜스파일러(transpiler)와 시뮬레이터(simulator) 기능까지 러스트및 C 기반으로 확장해 더 높은 수준의 최적화 성능을 확보할 계획이다. IBM 측은 "이번 업데이트는 키스킷을 다중 언어 기반 프레임워크로 진화시키는 첫걸음"이라고 밝혔다.

키스킷 2.1에는 C API 도입 외에도 여러 기능이 함께 개선됐다. 회로 안에 주석을 달 수 있는 기능이 새로 생겨 박스오피(BoxOp) 명령어를 사용할 때 회로 구성에 대한 설명을 코드 안에 직접 남길 수 있게 됐다. 또한 스트레치 딜레이(stretch delay) 기능이 추가돼, 게이트 사이의 시간 간격을 더 정밀하게 조절할 수 있어 시간 제어 표현력이 향상됐다.

회로 최적화 측면에서는 클리포드 플러스 티(Clifford+T) 게이트를 사용하는 회로를 더 효율적으로 변환할 수 있게 됐고, 여러 개의 제어 조건이 붙은 복잡한 게이트도 더 간단하게 바꿔주는 새로운 합성 알고리즘이 적용됐다.

또한, 양자 회로를 구성할 때 복잡한 연산을 단순한 게이트들로 바꿔주는 솔로베이-키타예프(Solovay-Kitaev) 알고리즘은 러스트언어로 다시 구현돼, 속도와 성능이 크게 향상됐다.

한편 이번 릴리스부터 키스킷은 파이썬 3.9에 대한 지원을 공식적으로 중단했다. 2.3 버전부터는 파이썬 3.9가 완전히 제외된다.

김홍일 방통위원장

관련기사