量子プログラムを並列実行して高速化! 阪大の量子コンピュータ・クラウドサービスで提供開始
量子マルチプログラミングを世界初、クラウド上で提供
研究成果のポイント
- 量子プログラムを並列実行可能な量子マルチプログラミング機能を開発
- 大阪大学の運用する量子コンピュータ・クラウドサービスで利用可能、「量子ソフトウェアコンソーシアム」に参画する機関向けに順次提供を開始
- 量子マルチプログラミングをクラウドサービスで提供するのは世界初
概要
大阪大学量子情報・量子生命研究センターの森俊夫特任研究員(常勤)、束野仁政特任研究員(常勤)、桝本尚之特任研究員(常勤)、宮永崇史特任研究員(常勤)、宮地孝輔特任研究員(常勤)、株式会社セックの内田諒主任らの研究グループは、ユーザが指定した複数の量子プログラムを並列実行する機能(量子マルチプログラミング)を開発し(図 1)、大阪大学の量子コンピュータ・クラウドサービスにて提供開始しました。この機能は、複数の量子プログラムを1個に結合して実行し、結果を分割して返すことにより量子プログラムの並列実行を可能とするものです。
量子マルチプログラミングをクラウドサービスで提供するのは世界初です。これにより、今後、量子コンピュータ・クラウドサービスの利用が拡大することが期待されます。
図1. 量子マルチプログラミング(マニュアルモード)の仕組み
研究開発の背景
大阪大学の量子コンピュータ・クラウドサービスでは64量子ビットチップを用いていますが、実際にユーザが利用する量子ビット数はその中の一部です。現状の量子コンピュータにはノイズがあり、多数の量子ビットを使うことが難しいためです。研究論文の量子計算で利用されている量子ビット数は、平均10量子ビット程度という調査結果も報告されています[参考文献3]。
ユーザが量子コンピュータで計算を行う際、ジョブという単位で実行しますが、1つのジョブを実行するに際して量子チップ上にある量子ビットをすべて専有して行っています。現状の仕組みでは、量子プログラムを並列実行することができないためです(図 2)。必要な量子ビット数が量子チップのサイズに比べて少ないジョブであっても、すべての量子ビットを占有するため、活用できない量子ビットが発生し、非効率的です。本研究では、この問題を解決しました。
図2. これまでの仕組み
研究開発の内容
本研究開発では、複数の量子プログラムを並列実行する機能を開発しました。具体的には、ユーザが指定した複数の量子プログラムをクラウドサービス上で1個に結合し実行します。実行した結果を分割することにより結合前の量子プログラムの結果と対応させることができます。
今回提供を開始したのは、並列実行する量子プログラムをユーザが指定する機能(マニュアルモード)ですが、量子チップの空き状況を確認して自動で並列実行する機能(オートモード)も開発中です。
次に、量子マルチプログラミングの動作の流れについて説明します。
1. ユーザは量子プログラムを複数実行するPythonスクリプトを作成します。
(量子プログラムは配列の形で複数指定します。)
2. Pythonスクリプトを実行し、複数の量子プログラムを1個のジョブとしてクラウドサービスに送信します。
3. クラウドサービスが複数の量子プログラムを1個の量子プログラムに結合します。
4. 結合した量子プログラムを実行し、結果を結合前の量子プログラム毎に分割します。
5. クラウドサービスを通じてユーザに結果を返します。
図3. 量子マルチプログラミングの動作の流れ
本研究開発成果の意義
量子コンピュータの利用にあたっては、少ない量子コンピュータ資源を複数のユーザが利用するため、さまざまな量子コンピュータ・クラウドサービスで実行待ち時間の長さが問題になっています。本研究開発の成果を用いて量子プログラムを並列実行することにより、効率的に量子コンピュータ・クラウドサービスを利用できるようになり、この問題の解決につながると考えています。また、この成果をオープンソース・ソフトウェアとして公開することも検討しています。これにより、量子コンピュータ・クラウドサービスを利用した研究の加速が期待されます。
参考文献
[1] DAS, Poulami, et al. A case for multi-programming quantum computers. In:*Proceedings of the 52nd Annual IEEE/ACM International Symposium on Microarchitecture*. 2019. p. 291-303.
[2] DOU, Xinglei; LIU, Lei. A new qubits mapping mechanism for multi-programming quantum computing. In: *Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques*. 2020. p. 349-350.
[3] ICHIKAWA, Tsubasa, et al. Current numbers of qubits and their uses. Nature Reviews Physics, 2024, 1-3.
特記事項
本研究開発は、科学技術振興機構(JST)共創の場形成支援プログラム(COI-NEXT)「量子ソフトウェア研究拠点(研究代表者:北川勝浩)Grant No.JPMJPF2014」、内閣府総合科学技術・イノベーション会議の戦略的イノベーション創造プログラム(SIP)「先進的量子技術基盤の社会課題への応用促進」(研究推進法人:量子科学技術研究開発機構)の研究テーマの一つ「国産量子コンピュータによるテストベッドの利用環境整備と運用(研究開発責任者:萬伸一)」によって実施されました。
SDGsの目標
用語説明
- 量子マルチプログラミング
量子コンピュータのスループットを向上させるため、複数の独立した量子回路を並行処理する技術です。詳細は、以下の参考文献を参照ください。[1,2]
- 量子コンピュータ・クラウドサービス
大阪大学に設置された超伝導量子コンピュータ国産3号機のクラウドサービス(2023年12月23日運用開始)。
研究者が遠隔地から量子アルゴリズムを実行したり、ソフトウェアの改良・動作確認をしたり、ユースケースを探索したりすることが可能になった。