--- layout: page title: QPU とは description: 量子コンピュータの正しい位置付け ---

「量子コンピュータとは、従来のコンピュータとまったく異なる方式の超高速なコンピュータであり、数年後には従来のコンピュータはすべて量子コンピュータに置き換わる」最近の加熱する量子コンピュータ報道では、こうした論調のものが少なくありません。

これは、大きな誤解です。はじめにで述べたように、量子コンピュータは量子探索や因数分解といった特定のタスクで威力を発揮するもので、従来のコンピュータでは解けなかったクラスの問題を扱うための特殊な補助デバイスの一種です。

このような特定の用途向けのマシンやアーキテクチャを「ドメイン指向アーキテクチャ」と呼び、GPU (Graphic Processing Unit: 画像処理ユニット) が代表的存在です。もともとグラフィック処理向けに開発された GPU はコア数が非常に多いことから並列性が高く、ニューラルネットワークの計算を効率よく計算できることから、現在では機械学習ドメインに特化した専用 GPU も登場しています。量子コンピュータも、本来は従来のコンピュータと対立するものではなく、むしろ GPU と同じレイヤに位置付けられる「CPU 補助デバイス」と考えると分かりやすいでしょう。

そんな GPU からの類推として、量子コンピュータを QPU (Quantum Processing Unit: 量子処理ユニット) と呼ぼうという考えがあります。実際のところ、GPU と QPU にはどれだけ類似点があるでしょうか。まずは GPU プログラミングの特徴を挙げてみましょう:

おもしろいことに、「GPU」を「QPU」に置き換えてもほぼ同じことがあてはまります!

それならば、GPU が辿ってきた道を振り返ることで、これから QPU が進む未来を大まかに予測できるのではないでしょうか。 1999 年に登場した GPU は、プログラミングパラダイム上の大きな転換をプログラマにもたらしました。 それも過ぎ去った現在では、ゲーム産業や数値計算をはじめとした分野で、たくさんの GPU プログラマが活躍しています。 そう考えれば、QPU プログラミングにも最初は多少の混乱はあるでしょうが、数年後には当たり前の技術となっているでしょう。