이제 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가 완전히 제외된다.

관련기사
- 민주당, 김홍일 방통위원장 탄핵 추진..."6월내 통과 목표"2024.06.27
- 김홍일 위원장 "2인 체제 방통위, 바람직하지 않지만 위법 아니다”2024.06.21
- LG 구광모 6년...AI·바이오·클린테크 키운다2024.06.28
- 화재 막는 배터리 진단기술 뜬다...민테크, 상장 후 존재감 '쑥쑥'2024.06.28