量子コンピュータで計算を実行するには、人間が書いた量子プログラムを量子チップ用に翻訳する必要がある。
この翻訳作業を行うソフトウェアを「トランスパイラ」と呼び、量子チップが理解できる基本命令や、量子チップ自体の形状に合わせた量子プログラムの変換、量子プログラムの最適化といった役割を果たしている。
現在、量子コンピュータのクラウドサービスを提供する特定の企業や研究機関(以下、ベンダー)は、専用のトランスパイラを提供しており、一度あるベンダーのサービスを選ぶと、実質的にそのベンダーが提供するトランスパイラしか使えなくなってしまう。
なぜなら、各ベンダーが独自の量子プログラム形式と量子チップの情報形式を使用しており、特に量子チップの情報について、異なるベンダー間での形式変換が難しいからだ。
結果として、ユーザは1つのベンダーのサービスに縛られてしまうという実情があった。

しかし、量子プログラムの性能は、量子プログラム自体とトランスパイラの組み合わせによって大きく変わるため、常に1つのトランスパイラが最適とは限らない。
実際、実行結果が理想値と大きく乖離していたため調査を行ったところ、トランスパイラによって精度の低い量子ビットが利用されるよう変換されていたケースが確認された。
このケースでは、別のトランスパイラを試した結果、精度の高い量子ビットを利用できることが判明したが、そのトランスパイラは簡単には量子クラウドで利用できないものであった。
つまり、ユーザが目的に応じて最適なトランスパイラを自由に選べることが理想的なのだ。
こうした中、国立大学法人大阪大学 大学院基礎工学研究科(以下、大阪大学)とTIS株式会社は、トランスパイラをユーザが選択できるソフトウェア「Tranqu(トランク)」を開発したことを発表した。
なお、このソフトウェアは、大阪大学が中心となって開発している量子システム・ソフトウェア群「OQTOPUS(オクトパス)」のひとつであり、オープンソースとして公開されている。
「Tranqu」は、複数の量子プログラミング環境に対応し、効率的なトランスパイル処理を実現する統合的なフレームワークとして機能する。入力された量子プログラムを目的の形式に変換し、適切なトランスパイラで処理する一連の流れを自動化する。

また、「Tranqu」はフレームワークとして設計されており、研究者による独自トランスパイラの組み込みや、新しい量子プログラム形式への対応、異なる量子チップアーキテクチャへの適応といった拡張も可能だ。
このアーキテクチャにより、ユーザは単一のインタフェースを通じて、複数のトランスパイラを効率的に活用することができる。
今後は、利用可能なトランスパイラや、変換可能な量子プログラムと量子チップ情報の形式のサポート対象を拡大していく予定だ。
また、大阪大学が運用している、研究者が遠隔地から量子アルゴリズムを実行したり、ソフトウェアの改良・動作確認をしたり、ユースケースを探索したりすることができる量子クラウドでも「Tranqu」を利用できるようにするとしている。
無料メルマガ会員に登録しませんか?

IoTに関する様々な情報を取材し、皆様にお届けいたします。