【世界初】大阪大学とセックが量子マルチプログラミング機能を開発 クラウドサービスで提供を開始 しくみと動作の流れを解説

大阪大学量子情報・量子生命研究センターとセックは、量子コンピュータの活用手法や、量子コンピュータを利用する上で必要になるクラウド環境に関する研究開発を共同で行っている。その成果の一つとして、利用者が指定した複数の量子プログラムを並列実行する機能(量子マルチプログラミング)を開発し、大阪大学の量子コンピュータ・クラウドサービスにて提供開始した。この機能は、複数の量子プログラムを1個に結合して実行し、結果を分割して返すことにより量子プログラムの並列実行を可能とするもの。

量子マルチプログラミングをクラウドサービスで提供するのは世界初であり、これにより量子コンピュータ資源を効率的に使用できるようになり、量子コンピュータ・クラウドサービスの利用が拡大することが期待される。

研究開発の背景

これまでの仕組み

大阪大学の量子コンピュータ・クラウドサービスでは64量子ビットチップを用いているが、実際にユーザが利用する量子ビット数はその中の一部である。現状の量子コンピュータにはノイズがあり、多数の量子ビットを使うことが難しいため。研究論文の量子計算で利用されている量子ビット数は、平均10量子ビット程度という調査結果も報告されている。

ユーザが量子コンピュータで計算を行う際ジョブという単位で実行するが、現状の仕組みでは量子プログラムを並列実行することができないため1つのジョブを実行するに際して量子チップ上にある量子ビットをすべて専有して行っている。必要な量子ビット数が量子チップのサイズに比べて少ないジョブであっても、すべての量子ビットを占有するため、活用できない量子ビットが発生し非効率的だったが、本研究ではこの問題を解決した。

研究開発の内容

量子マルチプログラミング(マニュアルモード)の仕組み

本研究開発では、複数の量子プログラムを並列実行する機能を開発した。具体的には、ユーザが指定した複数の量子プログラムをクラウドサービス上で1個に結合し実行。実行した結果を分割することにより結合前の量子プログラムの結果と対応させることができる。

今回提供を開始したのは、並列実行する量子プログラムをユーザが指定する機能(マニュアルモード)だが、量子チップの空き状況を確認して自動で並列実行する機能(オートモード)も開発中としている。

量子マルチプログラミングの動作の流れ

量子マルチプログラミングの動作の流れ

1:ユーザは量子プログラムを複数実行するPythonスクリプトを作成する。(量子プログラムは配列の形で複数指定する。)

2:Pythonスクリプトを実行し、複数の量子プログラムを1個のジョブとしてクラウドサービスに送信する。

3:クラウドサービスが複数の量子プログラムを1個の量子プログラムに結合する。

4:結合した量子プログラムを実行し、結果を結合前の量子プログラム毎に分割。

5:クラウドサービスを通じてユーザに結果を返す。

本研究開発成果の意義

量子コンピュータの利用にあたっては、少ない量子コンピュータ資源を複数のユーザが利用するため、さまざまな量子コンピュータ・クラウドサービスで実行待ち時間の長さが問題になっている。本研究開発の成果を用いて量子プログラムを並列実行することにより、効率的に量子コンピュータ・クラウドサービスを利用できるようになり、この問題の解決につながると考えているとのことだ。

また、この成果をオープンソース・ソフトウェアとして公開することも検討しており、これにより量子コンピュータ・クラウドサービスを利用した研究の加速が期待される。

ABOUT THE AUTHOR / 

ロボスタ編集部

ロボスタ編集部では、ロボット業界の最新ニュースや最新レポートなどをお届けします。是非ご注目ください。

PR

連載・コラム