[ Elements of Microsoft’s Quantum Resource Estimation Tool. Credit: Microsoft ]
量子アルゴリズムの開発者が答えを求めている質問の1つに、「このプログラムを実行するには何量子ビットが必要で、何秒 (または何時間) のランタイムが必要か?」というものがある。これは、特に現在利用可能な量子プロセッサが、そもそもプログラムを実行するのに十分な大きさではない場合に厄介だ。しかし、開発者は量子プロセッサが常に向上していることを知っており、数年後に利用可能になるであろう量子プロセッサで動作するものを開発することは間違っていないだろう。
いくつかの量子プロセッサプロバイダーはハードウェアのロードマップを提供しており、リソースの見積もりは、アルゴリズム開発者が将来のプロセッサで何が実行できるかを知るのに役立つ。また、より少ない数の量子ビットを使用するか、より短いランタイムを必要とするように、アルゴリズムを最適化するのに役立つツールとしても機能している。 また、ハードウェアプロバイダーにとっても、リソースの推定は有用である。なぜなら、顧客に量子的な利点を提供するために、将来のプロセッサ開発の目標を設定するための指針となるからだ。
これらの取り組みを支援するために、Microsoftは「Quantum Hardware Resource estimator(量子ハードウェアリソース推定)」と呼ばれるツールを導入した。最初のステップとして、ユーザーは Microsoftの Q#または Qiskit (またはその他のプラットフォーム) で記述された量子プログラムを入力し、そのプログラムをQIR (Quantum Intermediate Representation:量子中間表現) にコンパイルする。そして次のステップとして、ユーザはネイティブ命令セット、ゲート遅延、接続制限、エラー率、誤り訂正アルゴリズムなどを含むマシン固有のパラメータを入力できる。このモデルは、ユーザーがパラメータを指定する際の柔軟性が高い。これには、量子ビットパラメータ、誤り訂正スキーム、コンパイラと最適化ツールなどのための事前構築されたパラメータが用意されている。同時に、ユーザーが独自のパラメータを入力することも可能だ。入力データから、システムは必要な量子ビット数、プログラムを実行するためのランタイム、その他の情報を計算する。
[ Diagram of How the Quantum Resource Estimator Tool Calculates Its Output. Credit: Microsoft ]