Simulation / Modeling / Design

NVIDIA cuQuantum Appliance で大規模にクラス最高の量子回路シミュレーションを実現

Reading Time: 3 minutes

政府、企業、アカデミアの量子アルゴリズム研究者は、かつてないほど巨大な量子システム上で新しい量子アルゴリズムを開発し、ベンチマークするのに興味を持っています。用途としては、創薬、サイバーセキュリティ、高エネルギー物理学、リスク モデリングなどが挙げられます。

しかし、これらのシステムはまだ小さく、品質を改善する必要があり、容量も限られています。そのため、量子回路シミュレータ上でアプリケーションやアルゴリズムを開発することが一般的です。

NVIDIA cuQuantum は、量子回路シミュレーションを GPU で簡単に高速化して拡張できるようにするソフトウェア開発キット (SDK) です。ステート ベクトルを計算するための当たり前なツールであり、ユーザーは現在の量子コンピューターでできるよりも深く (より多くのゲート)、より広く (より多くの量子ビット) 量子回路のシミュレーションを行うことができます。

cuQuantum は、最近リリースされた NVIDIA cuQuantum Appliance を含み、これはマルチ GPU、マルチノードのステート ベクトル シミュレーションをサポートする、デプロイ可能なソフトウェア コンテナーです。一般化されたマルチ GPU API も NVIDIA cuStateVec で利用できるようになり、あらゆるシミュレーターに簡単に統合できるようになりました。

テンソル ネットワーク シミュレーションでは、cuQuantum cuTensorNet ライブラリによって提供されるスライシング API が、複数の GPU または複数のノードに分散したテンソル ネットワークの縮約を高速化することができます。また、これをマルチノードでより簡単にするために追加のハイレベルな API も提供され、ほぼ線形の強スケーリングで NVIDIA A100 システムを利用できるようになりました。

この記事では、NVIDIA cuQuantum Appliance を使用したマルチノード ステート ベクトル シミュレーションについて詳しくご説明します。関連情報については、NVIDIA cuQuantum Appliance でスーパーコンピューティング規模の量子回路シミュレーションを実現をご覧ください。

ABCI 2.0 スーパーコンピューターの cuQuantum Appliance の機能

NVIDIA は今年、ABCI (AI Bridging Cloud Infrastructure) グランドチャレンジに参加し、マルチノードの cuQuantum Appliance 機能をそのシステム構成でベンチマークしました。ABCI は、日本の産業技術総合研究所 (AIST) が構築および運用するスーパーコンピューターです。

ABCI 2.0 は、2022 年 11 月時点で、HPL (High Performance Linpack) ベンチマークを 1 秒あたり 22.21 ペタフロップスで実行し、TOP500 リストの 22 位にランクインしています。このスーパーコンピューターは、2022 年 11 月現在、1 ワットあたり 21.89 ギガフロップスで Green500 リストの 32 位にランクインしています。

ABCI システムは、4,352 基の NVIDIA V100 GPU を搭載した 1,088 台の計算ノード (「計算ノード (V)」と呼ばれる) と、960 基の A100 GPU を搭載した 120 台の計算ノード (「計算ノード (A)」と呼ばれる) から構成されています。NVIDIA cuQuantum チームは、NVIDIA Ampere アーキテクチャのノードで、浮動小数点数の精度の違いによる結果の正確さに加え、さまざまな回路のテストを実施しました。

ABCI 計算ノード (A) GPU システムは、NVIDIA A100 40GB、1 ノードあたり 8 基の GPU、第 3 世代の NVLink を搭載しています。理論ピーク 19.3 ペタフロップス、理論ピーク メモリ帯域幅 1,555 GB/s を誇り、ノード間は InfiniBand HDR で接続されています。

ABCI 計算ノード (A) における量子計算性能ベンチマーク

応用研究や量子コンピューターのベンチマークに関連する、よく使われる 3 つのアルゴリズムが実行されました。

これら 3 つのベンチマークは、マルチノードの cuQuantum Appliance を活用しています。量子ボリューム、量子近似最適化アルゴリズム (QAOA: Quantum Approximate Optimization Algorithm)、量子位相推定 (QPE: Quantum Phase Estimation) です。量子ボリュームの回路は、深さ 10 と深さ 30 で実行されました。QAOA は、比較的近い将来の量子コンピューターにおけるルーティングやリソース最適化などの組合せ最適化問題の解を求めるためによく使われるアルゴリズムです。

NVIDIA は、p=1 で QAOA を実行しました。QPE は、因数分解のための Shor のアルゴリズムや分子シミュレーションのような様々な化学計算など、幅広い用途を持つ多くのフォールトトレラント量子アルゴリズムにおける重要なサブルーチンです。3 つの一般的な量子アルゴリズムすべてにおいて、弱スケーリングが実証されました (図 1 および 2)。

さらに、量子ボリュームを用いた強スケーリングも検証しました (図 3 および 4)。cuQuantum Appliance は、ABCI の計算ノード (A) を 40 から 41 量子ビットの完全な量子コンピューターに効果的に変えたのです。ABCI のようなスーパーコンピューターへのスケーリングは、解決までの時間を短縮し、研究者がステート ベクトル量子回路シミュレーション技術で探索できる位相空間を拡張するのにも有効であることは明らかです。

図 1. complex 128 で 30 から 40 量子ビットの NVIDIA cuQuantum Appliance のマルチノードの弱スケーリング性能

テストの目的の 1 つは、complex 128 (c128) と complex 64 (c64) の実装の違いを比較することでした。精度を下げると、追加の 1 量子ビットにより多くのメモリを使用できるという結果が得られました。ただし、精度を下げることでシミュレーションの有用な結果が犠牲にならないことを確認することが重要です。この実験では、量子位相推定を用いて円周率を計算し、16 桁まで測定して一致させました。

図 2. complex 64 で 30 から 40 量子ビットの cuQuantum Appliance のマルチノードの弱スケーリング性能

テスト結果は、低精度でも優れた弱スケーリング性能を示しており、cuQuantum Appliance のユーザーは、性能と精度の両方への影響を最小限に抑えながら、低精度を活用することができます。

図 3. 深さ 10 および 30、量子ビット数 31 および 34、complex 128 精度の cuQuantum Appliance のマルチノードによる量子ボリュームの強スケーリング性能

cuQuantum Appliance のマルチノード機能の強スケーリングをテストするために、追加の測定が行われました。これらの数値は、深さ 10 と深さ 30 の量子ボリュームの回路で生成されました。いずれも 31 量子ビットと 34 量子ビットの量子ボリュームで測定した結果です。

図 3 は、complex 128 精度の GPU 数を段階的に増やして使用した場合の性能指標を示しています。マルチノードにスケールすることで、様々な問題サイズにおいて時間節約につながることは明らかです。

図 4. 深さ 10 および 30、量子ビット数 32 および 35、complex 64 精度の cuQuantum Appliance のマルチノードによる量子ボリュームの強スケーリング性能

NVIDIA cuQuantum チームは、図 4 に示すように、精度を変えて追加の実験を行いました。この図では、深さ 10 と深さ 30 で再び量子ボリュームを実行しました。この例では、シミュレーションは 32 と 35 量子ビットで保たれ、ABCI 計算ノード (A) 上の 512 基の NVIDIA A100 40GB GPU に分散されました。

8 基の GPU から 16 基の GPU へと実行時間が急増したのは、作業負荷を 1 つのノードではなく 2 つのノードに分散するための初期化オーバーヘッドが増加したためです。このコストは、ノードを任意の数にスケーリングしたときにすぐに償却されます。

cuQuantum Appliance の性能比較

NVIDIA cuQuantum Appliance のアップデートにより、ユーザーはスケールアップを実現することが可能になりました。cuQuantum ベンチマークは、64 台の A100 40GB ノードで合計 40 量子ビットまで実行されました。ただし、ユーザーはアクセス可能な GPU 数によってのみ制限されます。既存の Qiskit コードを変更することなく、簡単にシミュレーションを拡張することが可能になり、cuQuantum Appliance を使用しない従来の実装と比較して、最大 81 倍高速になりました。

図 5. Qiskit Aer マルチノードおよび mpiQulacs の比較を比較した ABCI における 30 から 40 量子ビットの cuQuantum Appliance マルチノード弱スケーリング性能

NVIDIA はまた、mpiQulacs と呼ばれる非常に高速なマルチノード完全ステート ベクトル量子回路シミュレーターに対してもベンチマークを実施しました。富士通の A64FX CPU アーキテクチャで動作するように開発された、素晴らしいシミュレーターです。2022 年 3 月には、最大 36 量子ビットで深さ 10 の量子ボリュームのマルチノード シミュレーターの性能結果を発表しました。今回、NVIDIA cuQuantum Appliance では、同様のクラス最高性能を備えた ABCI 2.0 のスーパーコンピューターで、c128 で 40 量子ビット、c64 で 41 量子ビットまでスケールアウトできるようになりました。

NVIDIA Hopper GPU を用いた他の予備テストでは、新しい NVIDIA H100 GPU を用いた場合、cuQuantum Appliance のマルチノードの性能数値は、ここで示された結果よりも約 2 倍優れていることが示されています。

NVIDIA の cuQuantum チームは、大規模なステート ベクトル シミュレーションを加速しています。cuQuantum は、スケール、およびクラス最高のパフォーマンスを可能にし、ノード間で弱スケーリングと強スケーリングを示しています。さらに、これまでに発表してきた成果は、産業技術総合研究所 (AIST) のスーパーコンピューター「ABCI 2.0」で外部検証されており、さまざまな HPC インフラを超えて汎用性があることを示しています。

NVIDIA はまた、cuQuantum を搭載した初の IBM Qiskit イメージも発表しました。ユーザーはすぐにこのコンテナーを Pull することができ、この人気の高いフレームワークを使った量子回路シミュレーションのスケールアップをより簡単かつ迅速に行えるようになります。

cuQuantum チームは、これらのマルチノード API をより幅広い開発者に提供するための作業をすでに開始しており、次の cuQuantum リリースにこれらを含める予定です。

cuQuantum Appliance を利用する

マルチノードの cuQuantum Appliance は、現在利用可能です。さまざまなコンテナーを集約している NGC カタログから直接利用できます。追加機能のリクエストやバグの報告は、GitHub の NVIDIA/cuQuantum にいる cuQuantum チームまでご連絡ください。

関連情報

翻訳に関する免責事項

この記事は、「Best-in-Class Quantum Circuit Simulation at Scale with NVIDIA cuQuantum Appliance」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意を払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。

Tags