私は、ミカエラ・アイヒンガー氏(Quantum Machines所属)によるLinkedInの投稿(https://lnkd.in/p/gGcqwybX)を偶然見つけました。彼女はQPUの意味について、非常に重要で的確な質問をしていました。以下にその要旨をまとめます。

回路基板に接続された量子チップ - 写真提供:QUtech

量子処理ユニット(QPU)は単なるチップではありません。従来の半導体では、CPUはテープアウト後の単なるシリコンダイ以上のものです。パッケージング、クロック分配、メモリ階層、マイクロコードがなければ、そのダイは高度に設計された砂に過ぎません。

QPUについても、全く同じ厳密なシステムエンジニアリングが求められる。量子チップ単体では何も機能しない。論理ゲートを実際に実行するには、適切なパッケージングと環境(希釈冷凍機や真空チャンバーなど)、そして制御回路とインフラストラクチャが必要となる。

用語集 見出しへのリンク

質問に対するコメントの中で、Olivier Ezrattyのコメントは特に実用的だった。彼は物事を明確にするために、「量子コンピュータ」と「量子コンピューティングシステム」という2つの重要な用語を定義することを提案した。

量子コンピュータ: あらかじめ定義された量子回路を通常複数回実行し、有用な結果を提供する。そのため、コンパイル、最適化、QEC/FTQCの実装(存在する場合)、すべての古典的なシステム駆動(電子回路、光子回路)、回路中間測定、古典的な最適化器(NISQ変分回路用)、および後処理が含まれる。また、極低温技術を含むすべての実現技術も含まれる。

  • 量子コンピューティングシステム: 量子コンピュータを使用してユーザーの問題を解決します。量子回路生成に関わるすべての古典的なリソース(必要に応じてHPCを含む)と、使用する量子コンピュータが含まれます。

右側の図は、これら2つの定義を表しています。

システム視点: [ QPU || GPU ] 見出しへのリンク

興味深いのは、量子コンピューティングシステムです。次の図に示すように、QPUとGPUスタックの間に類似点を見出すのが好きです。

システム的な観点から見ると、QPUはGPUとそれほど違いはありません。QPUとGPUのスタックの各層には類似点があります。

量子コンピュータの一部である場合でも、どの部分が量子ハードウェア上で動作し、どの論理コンポーネントが古典コンピュータ上で動作するのかを特定することも有益です。

オリヴィエ・エルザティ氏は、私がLinkedInに投稿した元の図について、有益なフィードバックをくれました。

  • 相互接続: 相互接続は少なくとも2つあります。量子相互接続は、量子もつれ状態にある量子実体を伝送します。もう1つは、NVQLinkの用語でリアルタイム相互接続(RTI)と呼ばれるリアルタイム古典相互接続です。また、CPU間を接続する標準的な古典ネットワークもありますが、この図には示されていません。

  • キャリブレーション: 理想的には、キャリブレーションはリアルタイムであるべきですが、ほとんどの場合、まだ実現していません。現在、キャリブレーションには2種類あります。1つは、オンボードNPUと読み出しデータまたはシンドロームデータを使用して量子ハードウェア内で実行されるリアルタイムキャリブレーション、もう1つは、Isingのような高度なvLLMモデルを使用してCPUまたはGPU上で実行される、より低速なキャリブレーションです。これら2つのアプローチはいずれ統合される可能性がありますが、それには数年かかるかもしれません。

  • アクセラレーション: 最初の図では、「量子ハードウェアアクセラレーション」という用語を使用して、量子回路はQPUがなくてもGPUアクセラレーションされたシミュレータ上で実行できることを強調しました。しかし、オリヴィエが指摘したように、QMLのような一部の量子分野では、速度向上のためではなく、結果を改善するために量子ソリューションを使用しています。混乱を避けるため、量子ハードウェアに特有の部分(シーケンサー、コントローラー、パルサー、クライオ、量子チップ)を「量子ハードウェア」と呼びます。

システム階層 見出しへのリンク

これは、オリヴィエが提唱したものと同様の、以下の階層構造につながる。

  1. 量子システム: GPU、CPU、QPUを連携させて動作する異種混在型ハイブリッドシステム。 2. 量子コンピュータ: 量子回路を実行し、確率的な読み出し結果を生成するシステム。 3. 量子ハードウェア: QPU、極低温装置、PPUが配置される物理的な部分。

以下に留意すべき点をいくつか挙げます。

  • xPUs: 「GPU、CPU、QPU」について言及しましたが、システムによってはTPUやNPUも使用される可能性があるため、あらゆる処理ユニットの一般的な用語として「xPU」を使用することもできました。

  • PPU: PPUは「パルス処理ユニット」の略です。ファームウェアが動作するコンポーネントであり、パルサーの制御と読み出し、(回路中間)シーケンス、QEC、およびRTIネットワークを担当します。

  • GPU vs PPU: GPU または PPU 上でカーネルを実行する場合、特に PPU がクライオスタット内に配置されている場合は、情報転送のコストと計算能力のトレードオフが発生します。

# 結論

この短いメモは、QPU(量子演算ユニット)を動作させる量子コンピューティングシステムのさまざまな構成要素を明確にするのに役立ちました。QPUに関わる構成要素を理解しやすくするために、意図的にGPU(グラフィック・グラフィックス・ユニット)のアナロジーを用いました。

もちろん、これは簡略化した図であり、多くの詳細は意図的に省略しています。それらについては今後のメモで説明します。それまでの間、ご興味があれば、NVIDIAのCUDAQをご覧ください。これは、この図の上部に示されている設計上の課題の多くに既に対応しています。

また、フィードバックをくださったオリバー・エルザティ氏、そして常に洞察力に富んだ質問や投稿をしてくださるミカエラ・アイヒンガー氏にも感謝いたします。


References:

  • NVQLink: Real-time accelerated computing for every quantum processor
  • CudaQ: NVIDIA’s open platform for quantum computing and the foundation for accelerated quantum supercomputing
  • PPU: Real-Time Quantum Control at the Pulse Level
  • NVIDIA Ising

For reference, this is the initial diagram posted on LinkedIn:

Hybrid Quantum Computing System (incomplete version)

DrawIO diagrams used in this memo:


.drawio .webp .svg
gpu vs qpu stack v2

.drawio .webp .svg
gpu vs qpu stack v1

.drawio .webp .svg
gpu vs qpu stack v0