ニュース
NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表
NVIDIAは,2021年から量子コンピューティングに関する発表を行っており,今回のQODA発表は,その総仕上げ的な位置づけになるものだ。ゲーマーには直接関係のない話題ではあるが,NVIDIAが量子コンピューティングに取り組んでいる理由を含めて,簡単に概要を紹介してみたい。
アクセラレータとしての実用が何となく見えてきた量子コンピューティング
ときおり一般のニュースに出てくることがあるものの,量子コンピュータとは何かを理解しているゲーマーは少ないだろう。
量子コンピュータとは,「1」と「0」の状態を同時に取りうる「量子ビット」(Quantum Bit:qubit)と,「量子ゲート」と呼ばれる量子論理回路を使って計算を行うコンピュータだ。n個の量子ビットは,2のn乗の状態を同時にとることが可能であり,量子ゲートならば,2のn乗個の計算を同時に行える。そのため,現行のコンピュータよりもはるかに高速な計算が行える,と説明されることが多い。
もっとも,2のn乗個の計算結果がドカっと出てきてもどうにもならないので,実際には,計算の答えが得られるであろう「量子回路」を作って計算を行わせる。量子回路の計算を実行できるプロセッサが,「量子プロセッシングユニット」(Quantum Processing Unit,QPU)と呼ばれるものだ。
問題は量子ゲートがとても不安定で,得られる答えに大量のエラーが含まれる点である。幸いなことに,量子コンピューティングにおけるエラー訂正の理論は確立しているが,エラー訂正を行いつつ実用的な答えを得るためには,少なくとも数万qubitが必要になると言われている。そんな理由から,「量子コンピュータが実用になるには,あと数十年はかかるという」識者もいる。
しかし,たとえば2021年末には,IBM製量子コンピュータ「IBM Quantum System One」が神奈川県川崎市で稼働を開始したというニュースもあった。ただし,IBM Quantum System Oneが搭載するIBMのQPU「Falcon」は,規模がわずか27 qubitにすぎない。実用的な計算が行えるという数万qubitは遠く及ばないわけだ。量子コンピュータの実用にあと数十年かかると言われる根拠はこれである。
であるならば,IBM Quantum System Oneのような今の量子コンピュータは,せいぜい研究用の役にしか立たないかのというと,「そうではない」という主張もある。エラー訂正がなくても,一部の計算は実行できるうえ,「特定の計算であれば,既存のコンピュータよりもはるかに高速だ」と,量子コンピューティング界隈は主張しているためだ。
主張と書いたのは,議論があって必ずしも確定していないためである。それでも,エラー訂正機能を持てない程度のQPU(※Noisy Intermediate Scale Quantum Device,NISQ Deviceという)を,特定の演算におけるアクセラレータとして活用しようという方向で,量子コンピューティング業界は走り出している。先述したIBMを始めとする大企業はもちろん,多数の量子コンピューティング関連ベンチャーが設立されており,NISQの実現を巡って活況をていし始めたというのが今の状況だ。
GPUの経験を量子コンピューティングに活かすNVIDIA
ずいぶん前置きが長くなったが,NISQを巡る現在の状況は,2000年代前半におけるGPUを巡る状況に,似ているといえなくもない。プログラマブルシェーダが登場して,GPUはグラフィックス処理以外の演算も行えるようになった。しかし,当時のGPUプログラミングは,アセンブラに近いシェーダ言語で行う必要があってハードルが高く,また並列化できる計算しか高速に計算できないので,用途も限られていた。
そんなGPUの汎用化(GPGPU化)に,先陣を切って取り組んできたのがNVIDIAだ。NVIDIAは,シェーダ言語に代わって汎用プログラミングが可能なCUDA C/C++言語を提供するなど,「CUDA」と呼ばれるGPGPU向けのプログラミングプラットフォームを構築し,現在に至っている。
「その経験は,量子コンピューティングにも生かせる」と,NVIDIAは主張している。それを証明するかのように,2022年3月に行われたNVIDIA主催のGPUコンピューティング関連イベント「GTC 2022」で同社は,量子コンピューティングに関する大きな発表を2つ行った。
もうひとつは,C++言語に量子コンピューティング向けの拡張を加えた「nvq++」言語の発表である。nvq++は,汎用コンパイラプラットフォーム「LLVM」の中間言語に,「量子中間表現」(Quantum Intermediate Representation,QIR)を加えて拡張したLLVMベースのコンパイラを使用する量子プログラミング言語だ。
そして今回発表となったQODAは,既存のコンピューティングと量子コンピューティングのハイブリッドコンピューティングを実現するプログラミングプラットフォームだ,とNVIDIAはアピールしている。つまり,一部の計算をQPUに行わせるための汎用プログラミングプラットフォームと考えればいいだろう。
NVIDIAによると,QODAは,特定のQPUに依存しておらず,QPUの代わりにエミュレータを使うことも可能であるとのこと。言語としては,C++とPythonをサポートするという。
QODAによるハイブリッドコンピューティングの効果として,NVIDIAが示したデータが下のスライドである。これは,量子化学への応用が期待されている量子アルゴリズム「変分量子固有値ソルバ」を計算させたところ,20qubitのQPUで,既存のコンピュータに対して287倍も高い性能が得られたそうだ。20qubitならば,現在のNISQでも対応が可能な範囲だろう。
NVIDIAによると,QPUを手がける5社を始めとする量子コンピューティング関連企業とパートナーを組んで,QODAのエコシステムを構築していくとのこと。成長が見込まれる量子コンピューティングの世界でも,NVIDIAの存在感が大きくなるかもしれない。
というわけで,ゲームと何ら関係なさそうな話題に終止したが,将来においてもまったく関係ない……とは言い切れないだろう。なにせ,世界初のシューティングゲーム「Spacewar!」が開発された1962年当時,このゲームが動くミニコンピュータ「PDP-1」は,おそらく世界に数十台程度しかなかったろう(※最終的な生産台数は53台)。今の量子コンピュータとさほど変わらない程度に希少だったわけだ。そう考えれば,そろそろどこかで世界初の量子コンピュータ用ゲームが開発されたとしても,不思議ではないだろう。
いつかは我々も,量子コンピュータでしか動かないようなゲームをプレイする時代が来るかもしれない。
Q2B22 Tokyo公式Webサイト
NVIDIA公式Webサイト
- この記事のURL: