お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2022/07/13 10:00

ニュース

NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表

画像集#004のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表
 2022年7月13日から14日まで,東京都内で行われる量子コンピュータ関連イベント「Q2B22 Tokyo」に合わせて,NVIDIAは,量子コンピュータ向けのプログラミングプラットフォーム「Quantum Optimized Device Architecture」(QODA,クォーダ)を発表した。QODAとは,NVIDIAが2013年から手がけてきたGPUコンピューティングプラットフォーム「CUDA」の量子コンピュータ版と理解していい。

 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つ行った。

画像集#002のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表
 ひとつは,GPUで量子シミュレーションを行うためのSDKである「cuQuantum」だ。cuQuantumを用いることで,量子回路の設計や,妥当性の検証などをGPUを使って高速に行えるという。
 もうひとつは,C++言語に量子コンピューティング向けの拡張を加えた「nvq++」言語の発表である。nvq++は,汎用コンパイラプラットフォーム「LLVM」の中間言語に,「量子中間表現」(Quantum Intermediate Representation,QIR)を加えて拡張したLLVMベースのコンパイラを使用する量子プログラミング言語だ。

 そして今回発表となったQODAは,既存のコンピューティングと量子コンピューティングのハイブリッドコンピューティングを実現するプログラミングプラットフォームだ,とNVIDIAはアピールしている。つまり,一部の計算をQPUに行わせるための汎用プログラミングプラットフォームと考えればいいだろう。

QODAは,量子コンピューティングと既存のコンピューティングとのハイブリッドコンピューティングを実現する
画像集#003のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表

 NVIDIAによると,QODAは,特定のQPUに依存しておらず,QPUの代わりにエミュレータを使うことも可能であるとのこと。言語としては,C++とPythonをサポートするという。

QODAを使ったハイブリッドコードの例
画像集#005のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表

 QODAによるハイブリッドコンピューティングの効果として,NVIDIAが示したデータが下のスライドである。これは,量子化学への応用が期待されている量子アルゴリズム「変分量子固有値ソルバ」を計算させたところ,20qubitのQPUで,既存のコンピュータに対して287倍も高い性能が得られたそうだ。20qubitならば,現在のNISQでも対応が可能な範囲だろう。

変分量子固有値ソルバの計算において,20qubitのQPUは287倍も高性能であるという
画像集#006のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表

 NVIDIAによると,QPUを手がける5社を始めとする量子コンピューティング関連企業とパートナーを組んで,QODAのエコシステムを構築していくとのこと。成長が見込まれる量子コンピューティングの世界でも,NVIDIAの存在感が大きくなるかもしれない。

QODAに関してNVIDIAとパートナーシップを組む企業
画像集#007のサムネイル/NVIDIA,量子コンピュータ向けのプログラミングプラットフォーム「QODA」を発表

 というわけで,ゲームと何ら関係なさそうな話題に終止したが,将来においてもまったく関係ない……とは言い切れないだろう。なにせ,世界初のシューティングゲーム「Spacewar!」が開発された1962年当時,このゲームが動くミニコンピュータ「PDP-1」は,おそらく世界に数十台程度しかなかったろう(※最終的な生産台数は53台)。今の量子コンピュータとさほど変わらない程度に希少だったわけだ。そう考えれば,そろそろどこかで世界初の量子コンピュータ用ゲームが開発されたとしても,不思議ではないだろう。
 いつかは我々も,量子コンピュータでしか動かないようなゲームをプレイする時代が来るかもしれない。

Q2B22 Tokyo公式Webサイト

NVIDIA公式Webサイト


  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:04月24日〜04月25日