미래 대규모 상용 양자 컴퓨터 시대를 대비해 개발자를 대상으로 맞춤형 개발환경을 제공하는 시뮬레이션용 양자 컴퓨터가 등장하며 이에 맞춘 개발자 키트 제공도 확대되고 있다.
▲인텔 양자 소프트웨어 개발 키트 1.0 버전(자료:인텔)
인텔 양자 SDK, 시뮬레이션용 양자 컴퓨팅 풀스택 제공
미래 대규모 상용 양자 컴퓨터 시대를 대비해 개발자를 대상으로 맞춤형 개발환경을 제공하는 시뮬레이션용 양자 컴퓨터가 등장하며 이에 맞춘 개발자 키트 제공도 확대되고 있다.
인텔이 지난해 9월 베타 버전을 출시한 데 이어 양자 소프트웨어 개발 도구(SDK) 1.0 버전을 출시했다고 28일 밝혔다.
SDK는 올해 출시될 인텔의 양자 제어 칩인 호스리지(Horse Ridge) II와 인텔의 양자 스핀 큐비트 칩을 포함한 인텔의 양자 하드웨어와도 인터페이스 할 수 있는 시뮬레이션용 양자 컴퓨터이다.
▲인텔 양자 하드웨어(사진:인텔)
개발자는 해당 키트를 통해 시뮬레이션에서 양자 알고리즘을 프로그래밍할 수 있으며, 업계 표준 LLVM(Low-level virtual machine) 컴파일러 툴체인을 사용한 C++로 쓰여진 직관적인 프로그래밍 인터페이스를 탑재한 점이 특징이다. 그 결과, 인텔의 SDK는 C/C++ 및 파이썬(Python) 애플리케이션과 원활한 인터페이스를 제공해 더욱 다양하고 맞춤화할 수 있다.
앤 맷수라(Anne Matsuura) 인텔랩 양자 애플리케이션 및 아키텍처 부문 디렉터는 “인텔 양자 SDK는 프로그래머들이 미래의 대규모 상용 양자 컴퓨터에 대비할 수 있도록 지원한다“며 “개발자가 시뮬레이션 상에서 양자 알고리즘과 애플리케이션을 만드는 방법을 배우는 데 도움이 될 뿐만 아니라, 인텔의 양자 하드웨어가 출시됐을 때 개발자들이 준비되도록 애플리케이션 개발을 가속화할 개발자 생태계를 구축해 산업을 발전시킬 것“이라고 말했다.
인텔 양자 SDK 1.0은 클래식 컴퓨팅 개발자에게 익숙한 프로그래밍 언어인 C++ 기반의 직관적인 프로그래밍 인터페이스가 포함되어 있어 클래식 컴퓨팅 개발자와 양자 개발자 간의 협업을 가능하게 한다. 또한 해당 키트는 양자-클래식 하이브리드 알고리즘을 실행하는 데 최적화된 양자 런타임 환경을 제공한다고 인텔은 설명했다.
개발자는 더 많은 수의 일반 큐비트 또는 인텔 하드웨어를 나타내는 큐비트 시뮬레이션을 위해 두 가지 대상 백엔드 중 하나를 선택할 수 있다.
첫 번째 백엔드는 고성능 오픈소스 일반 큐비트 시뮬레이터인 인텔 양자 시뮬레이터(IQS)다. IQS는 단일 노드에서 32 큐비트, 다중 노드에서 40 큐비트 이상을 처리할 수 있는 백엔드를 갖추고 있다. 두 번째는 인텔 양자점 큐비트(quantum dot qubit)로 하드웨어를 시뮬레이션하고 인텔 실리콘 스핀 큐비트의 콤팩트한 모델 시뮬레이션을 가능하게 하는 타겟 백엔드다. 인텔의 큐비트는 실리콘 트랜지스터 제조에 대한 인텔의 전문성을 활용해 대규모 양자 컴퓨터를 구축한다.
사용자는 SDK를 통해 소규모 워크로드를 개발해 큐비트에서 알고리즘을 효율적이고 정확하게 실행하기 위해 양자 컴퓨터의 시스템 아키텍처에서 필요한 기능을 확인할 수 있다. 인텔은 SDK를 내부적으로 사용해 양자 하드웨어와 소프트웨어를 함께 공동 설계함으로써 시스템 개발을 가속화하고 있다.
SDK는 양자 애플리케이션 개발에 더 큰 유연성을 제공하는 사용자 맞춤 지정 및 확장 가능한 플랫폼이다. 기존 컴퓨팅 개발의 표준 기능인 컴파일러 파일을 비교해 알고리즘이 컴파일러에서 얼마나 잘 최적화되었는지 파악할 수 있도록 지원한다. 이를 통해 사용자는 소스 코드를 보고 더 낮은 수준으로 데이터를 추상화해 시스템이 데이터를 저장하는 방식에 대한 인사이트를 얻을 수 있다.
더불어 인텔은 양자 확장을 이용해 업계 표준 LLVM을 확장하고 양자 컴퓨팅에 맞게 수정된 양자 실행 시간 환경을 개발했으며, IQS는 범용 양자 컴퓨터의 상태-벡터 시뮬레이션을 제공한다.
▲인텔 양자 소프트웨어 개발 키트 애플리케이션(자료:인텔)
양자 워크플로우의 효율적인 실행을 위해 컴파일러 확장 기능으로 개발자는 양자 알고리즘의 결과를 C++ 프로젝트에 통합해 양자 근사 최적화 알고리즘(QAOA) 및 변형 양자 고유 해석기(VQE)과 같은 하이브리드 양자-클래식 알고리즘에 필요한 피드백 루프를 시작할 수 있다.
고성능 시뮬레이션에선 인텔 개발자 클라우드(DevCloud) 사용자는 단일 계산 노드에서 최대 32 큐비트, 다중 노드에서 40 큐비트 이상의 애플리케이션 및 알고리즘을 시뮬레이션할 수 있는 실행 파일을 구축할 수 있다.
인텔은 양자 생태계 구축과 양자 컴퓨팅 분야 발전을 위해 개발자 커뮤니티를 구축하고 있다. 우선 인텔은 △펜실베니아 대학교(University of Pennsylvania) △데겐도르프 공과 대학교(Technische Hochschule Deggendorf) △게이오 대학교(Keio University) △오하이오 주립대학교(The Ohio State University) △펜실베니아 주립대학교(Pennsylvania State University) 등 5개 대학에 양자 교과 과정을 개설해 다른 대학과 공유하고 학계 전반에 걸쳐 양자 컴퓨팅 사용을 확산하기 위한 보조금을 지원했다.
독일 뮌헨 소재 데겐도르프 공과대학교는 기체역학 및 액체역학에 중요한 유체 역학 문제를 탐구하기 위해 SDK를 활용하고 있다. 2023년 1월, 인텔은 인텔 양자 컴퓨팅 챌린지(Intel Quantum Computing Challenge)를 데겐도르프 공과대학교에서 개최한 바 있다. 참가자들은 이미지 노이즈 제거, 현실적 이미지 생성 및 구조화되지 않은 검색 문제 해결 등을 포함해, 인텔 양자 SDK 베타 버전을 사용해 양자 활용 사례를 탐구했다. 또다른 베타 사용자인 레이도스(Leidos)는 △양자 머신 러닝 △재료 시뮬레이션 및 순간 이동 △블랙홀 △웜홀과 같은 천체 물리학 문제와 같은 애플리케이션을 연구하고 있다.
다양한 테스터들이 이번 양자 SDK에 의견을 표현했는데 구슈 리(Gushu Li) 펜실베니아 대학교 컴퓨터 및 정보 과학과 조교수는 “인텔 양자 SDK는 시작하기 쉽고 모든 것이 클라우드에 있어 시큐어 쉘 클라이언트만 있으면 시뮬레이터가 매우 상세한 보고서를 생성해, 작성한 커널을 분석하고 디버깅할 수 있다”고 밝혔다.
야크난 존 감보(Yaknan John Gambo) 데겐도르프 공과대학원생은 “인텔 양자 SDK는 더 나은 자원 활용을 위해 개발자가 하드웨어에 더 가까운 수준에서 운용할 수 있기 때문에 양자 개발 분야의 판도를 바꿀 것이다”고 전했다.
제레미 포프(Jeremie Pope) 펜실베니아 주립대학교 컴퓨터공학과 재학생은 “인텔 양자 SDK는 C 언어에 대한 지식을 양자 영역에 적용할 수 있도록 하는 독특한 방법을 제공했다”며 “마치 고전적인 언어를 배우는 것처럼 양자 프로그래밍을 배울 수 있었다”고 말했다.
엘리자베스 이와사와(Elizabeth Iwasawa) 레이도스 이노베이션 센터 양자 기술 책임자 겸 연구원은 “레이도스는 소프트웨어 개발 및 비교 분석 시 하드웨어도 필요 없는 다양한 시뮬레이션을 즐겨왔다”며 “베타 버전에서도 재료 모델링과 양자 머신 러닝부터 열전계(thermofield) 이중 상태까지 다양한 연구 주제를 탐구했다”고 밝혔다.