Slide 1

Slide 1 text

量子コンピュータを支える FPGA技術 miyox - 三好 健文 [email protected] キュエル(株)/(株)イーツリーズ・ジャパン/大阪大学QIQB 2024.7.12 1

Slide 2

Slide 2 text

略歴 • 学生時代 • マルチVLIW向け自動並列化コンパイラ • ハードウェアWebサーバーの実装(HTTP/ファイルシステムのRTL実装) • 卒業後 • メニーコア向けコンパイラ・ソフトウェアスタック • メニーコアプロセッサエミュレーションプラットフォーム(たくさんのFPGA) • マルチGPU向けプログラミング環境 • 就職後 • ネットワーク関連FPGA IPコア + α @e-trees.Japan, Inc. • 物理実験装置 - たくさんのADCの値をまとめてFPGAに送り込む • ストリーム処理向けFPGAアクセラレータ • データセンター向けFPGAアクセラレータ • Javaベースの高位合成処理系 Synthesijer の開発 • 量子コンピュータ制御装置の研究・開発・販売 @QUEL, Inc. New

Slide 3

Slide 3 text

理研64qubitシステムの制御システム 3 https://pc.watch.impress.co.jp/img/pcw/docs/1488/658/html/101_o.jpg.html https://www.riken.jp/pr/news/2023/20230324_1/index.html https://www.riken.jp/medialibrary/riken/pr/videos/q_com.pdf Qubit control units

Slide 4

Slide 4 text

量子コンピュータとは • 量子ビットを使って計算をするコンピュータ = 重ね合わせを使った表現空間と並列計算 • 古典コンピュータより速く解ける計算がある • 量子力学のシミュレーションは量子コンピュータを使うのが一番,とか. • 誤り耐性量子コンピュータの実現が最終目標 • 1000物理qubitで1論理qubitを構成する,とか、そういう世界 • NISQを利用して実アプリケーション...という世界 • ~100qubitでノイズに負けない範囲で計算する 参考: • https://dojo.qulacs.org • 量子コンピュータの基礎から応用まで https://speakerdeck.com/qunasys/quantum-summit-2019 • 驚異の量子コンピュータ – 藤井啓祐著 • Quantum Computation and Quantum Information – Michael A. Nielsen, Isaac L. Chuang著 • 量子コンピュータと量子通信 I・II・III – 木村達也訳 4

Slide 5

Slide 5 text

量子コンピュータとは 5 量子コンピュータで素因数分解3分クッキング - https://qiita.com/satto_sann/items/373e974a451896d728bb より引用 ? ? ? |0⟩ |1⟩ |1⟩ 重ね合わせ エンタングルメント 測定

Slide 6

Slide 6 text

(超伝導量子回路方式の)量子コンピュータ 6 図の引用; 田渕 豊,杉山 太香典,中村 泰信 “超伝導技術を用いた量子コンピュータの開発動向と展望”, 電子情報通信学会誌 Vol.101, ISSN 0913-5693, 2018年4月, pp.400-405 https://ci.nii.ac.jp/naid/40021536399/ ・・・ たとえば, 1000物理qubitを 500物理qubitで守る = 500bit @10ns どうやって 通信する? どうやって 計算する? どうやって 制御する?

Slide 7

Slide 7 text

超伝導量子ビット 7 田渕 豊,杉山 太香典,中村 泰信 “超伝導技術を用いた量子コンピュータの開発動向と展望”, 電子情報通信学会誌 Vol.101, ISSN 0913-5693, 2018年4月, pp.400-405 https://ci.nii.ac.jp/naid/40021536399/ 非調和振動子として動作 エネルギー緩和時間(T1): 20-80us マイクロ波制御における 状態遷移を二状態に とじこめられる 共振器と量子ビットの 共振周波数をずらす 共振器の共振周波数は 量子ビットの状態で変化 = 周波数変化をパルスの 位相変化として読む

Slide 8

Slide 8 text

超伝導量子ビットの制御 8 A Quantum Engineer‘s Guide to Superconducting Qubits https://arxiv.org/abs/1904.06560

Slide 9

Slide 9 text

超伝導量子ビットの読み出し 9

Slide 10

Slide 10 text

量子コンピュータの制御に必要なシステム 10 ミドルウェア 装置 ADC/ DAC 信号処理 制御命令列 データ リアルタイム制 御 波形 + タイミング 抽象化 量子ソフトウェアを実行するために量子ハードウェアを制御して観測するシステム = ひらたく言うと、柔軟に使えるすごい信号処理システム 排他/共用 Xバンド 伝送線路 RAD 高周波送受信システム 搬送波 -12.5GHz/変復調帯域; 2GHz ゆらぎ; 120秒間 +/- 0.3度以内 1200秒間 1度以内 3600秒間 2度以内 DAC/ADC,信号処理 マイクロ波の長さ; 数十us - 数十ms (= 40MB/ch) 桁落ち・誤差ない演算 出力分解能 16bit/入力分解能 10bit FIR・間引き・総和・積算

Slide 11

Slide 11 text

QuBE(QuEL-1) 11 アナログ RFコンポーネント バンドパスフィルタ 逓倍器 コンバイナ(モニタリング回路) システムボード FPGA(Xilinx Alveo U50) AD/DA(アナデバ AD9082) ミキサ+LO(ADRF6780 + LMX2594) 電源・温度調整ボード 各種レギュレータ Cmod-A7 + FET 1ユニット [A] 8出力(4制御+2リードパルス+2ポンプ)+2入力 [B] 8出力(8制御) => 12ユニットで64qubitに対応(Ax8+Bx4) 幅44cm x 高14cm x 奥行90cm (3U)

Slide 12

Slide 12 text

QuEL-1 SE 12 アナログ RFコンポーネント バンドパスフィルタ 逓倍器 コンバイナ(モニタリング回路) システムボード FPGA(Xilinx Alveo U50) AD/DA(アナデバ AD9082) ミキサ+LO(ADRF6780 + LMX2594) 電源・温度調整ボード 各種レギュレータ Cmod-A7 + FET 幅44cm x 高14cm x 奥行90cm (3U)

Slide 13

Slide 13 text

システムオーバービュー 13 サーバー (Linux) ソフト ウェア 10GbE スイッチ ユニット(QuBE/QuEL-1) ユニット ユニット クロック生成器 ・ ・ ・ GbE スイッチ 量子 ビット 量子 ビット ・ ・ ・ 量子 ビット 量子 ビット 量子 ビット モニ ター 回路 (コ ネク タコ ン ポー ネン ト) FPGA (AU50) 高帯域 メモリ ミキサ ミキサ DAC/ ADC マイクロ波 発生器 マイクロ波 発生器 マイクロ波 発生器 ミキサ Master FPGA (AU200) ・ ・ ・ ・ ・ ・ ・ ・ ・ 時刻同期マスタ パルス送受信制御マスタ クロック分配 パルス送受信 マイクロ波送受信 モニタリング PCIeエッジに DAC/ADCチップを直結

Slide 14

Slide 14 text

内部アーキテクチャ 14 Waveform parameters HBM Reader Wave Generator HBM JESD204C Sender System clock(250MHz) I/F clock(125MHz) AWG FIFO JESD204C Receiver Capture module To DAC From ADC Filter for Q0 Filter for Q1 Filter for Q2 Filter for Q3 I/F clock(125MHz) System clock(250MHz) Frame count trigger Control / Status Control / Status Timing control (LEMC Grouping) Pulse Generation Less precision loss Decoding Decoding Decoding Decoding HBM Writer To HBM

Slide 15

Slide 15 text

必要なデータスループット/処理性能 15 1qubit あたり I/Q 2Gsps BW(連続 1GspsBW) => 16bit/sample * 2 * 1Gsps = 32Gbps / qbit 16MBx4 = 64MB 20000ゲート操作分バッファするとして => 100ns/1ゲート操作 * 20000ゲート = 2ms 2ms * 64Gbps = 128Mbit = 16MB I/Q 500Msps BW => 16bit/sample * 2 * 500Msps = 16Gbps 4量子ビットで多重化 15~20 GFLOPS/qubit*4 = 60~80GFLOPS 制御信号 測定/信号処理 128Gbps 16Gbps 16Gbps 今はちょっと 間引いている

Slide 16

Slide 16 text

波形生成システム 16 • DRAM(HBM)に格納したデータを組み合わせて波形生成する • 波形生成パタンもDRAMに格納

Slide 17

Slide 17 text

キャプチャモジュール 17 FLOPs: 浮動小数点演算(fadd,fmul,fmac)の個数 FLOPS: 1秒間あたりの浮動小数点演算の個数 M: Σの対象サンプル数.1024以上 I Q LPF 8点FIR 8FLOPs CIC 1/4 4FLOPs LPF 8点FIR 8FLOPs 窓関数 (複素) 6FLOPs Σ 1FLOPs LPF 8点FIR 8FLOPs CIC 1/4 4FLOPs LPF 8点FIR 8FLOPs Σ 1FLOPs 4値化処理 8FLOPs 12GFLOPS 3GFLOPS 500Msps 500Msps 125Msps 125Msps 125Msps 500Msps 500Msps 125Msps 125Msps 125Msps 125M/M sps 125M/M sps 125M/M sps 125M/M sps

Slide 18

Slide 18 text

Alveo U50(FPGA)のP&R結果 18

Slide 19

Slide 19 text

現行機での実験の様子 19 A QuBE unit can controls/measures 4 qubits

Slide 20

Slide 20 text

我々のシステムでの実験結果 20

Slide 21

Slide 21 text

今後の技術課題・展望 • 大規模化 = 装置の小型化 • 誤り訂正のインテグレーション • 他の量子ビットの制御もやりたい!! • ほかにもあれこれ • ディジタル信号処理による信号品質向上 • 送受信信号の多重化 • 一部を低温動作回路に移行 21

Slide 22

Slide 22 text

大規模化に向けた目標 22 0 1000000 2000000 3000000 4000000 5000000 6000000 0 2000 4000 6000 8000 10000 12000 16 64 256 1024 4096 16384 262144 qubit数とサイズ目標 cc/qubit 合計容量(cc) cc/qubit cc ラック 10本くらいにしたいとすると 現行機 9U(3台)で16 qubit 1000W程度(*測定中) TX/RX: 576Gbps/64Gbps 処理性能: 320GFLOPS+α RF部分のボード化 電源の小型化 RF部分のIC化 RF+FPGA(ASIC?) ワンパッケージの LSI?? x1/8 x1/32 x1/512=20cc/qubit 現行機 2021年 2022年 2023年 2025年 2027年 携帯電話の黎明期を思い出す by 伊東先生@金工大 10,395cc/qubit なんとか半分に! x1/2

Slide 23

Slide 23 text

とりあえずボードは作った 23 VHK1582 • HBM: 32GB • BRAM: 89Mbits • URAM: 366Mbits • DSPs: 7,392 • LUTs: 1,753,984 • PS: Arm Cortex-A72 • GTY(32.75Gb/s): 68 AD9082(DAC/ADC sub-board) • AD9082 • 12GSPS DAC – 4 Tx • 6GSPS ADC – 2 Rx • LMX2594(12GHz LO)

Slide 24

Slide 24 text

検討中のシステム 24 十分なフィデリティが 得られる間隔で処理 (例. T1 / 1000 ≒ 500nsec) 観測& デコード インタ コネクト バックエンドシステム (RCCSと共同研究) 量子計算サイクルの高速化のため エラー訂正結果の伝達のレイテンシを 軽量なプロトコルで小さくする フロントエンド ・・・ 観測とデコードをフロントエンド内 ロジックにより低レイテンシで繰り返す 低レイテンシかつ高スループットのために インタコネクトとプロトコルを最適化 エラー訂正 結果 フィード バック制御 シンドローム 情報 フロントエンド フロントエンド 物理 qubit 論理qubitレベルで フィードバックが必要な 操作の高速化 論理Qubit

Slide 25

Slide 25 text

システム検証プラン 25 read-channel FE unit Data qubit X-ancilla Z-ancilla a b c d z e f x H H |g> I I |g> aにzの共振周波数を与える (a <- fz) xにcの共振周波数を与える (x <- fc) Active reset 4価化 Iteration period Mz 12 1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 4 Code distance d=5 a b c d e f z x z'

Slide 26

Slide 26 text

フィードバック処理 (たとえば Active Resetのために) 26 制御装置 制御装置 制御装置

Slide 27

Slide 27 text

RFSoCでフィードバック処理 27 庭瀬,根来,河合,三好, “RFSoCを使った信号処理システム開発の一考察”, RECONF2019-70

Slide 28

Slide 28 text

現行機でのフィードバック処理 28 5u秒くらい

Slide 29

Slide 29 text

レイテンシ解析・測定結果/低レイテンシ化に向けて 29 時間 80 出力開始 128 応答波形の 先頭を受信 応答波形の 末尾を受信 104 952 応答波形の末尾の信 号処理を終える ↓ 復調結果取得 波形パラメータ 設定開始 537 後処理終了 224 波形パラメータ 設定完了/ プリロード開始 748 224 キャプチャ AWG 実行開始 キャプ チャ開始 748 224 プリロード完了 256 約1700 アナログ信号RTT 波形ローダ プリロード開始 ロード完了 1920 ` ` 出力終了 出力開始 プリロード完了 HBM読み出し 同期待ち合わせ 復調処理 演算レイテンシ パラメタ設定 (BRAMから読み出し) HBM読み出し 同期待ち合わせ 同期

Slide 30

Slide 30 text

汎用量子コンピュータミドルウェアに向けて 30 超伝導量子ビット 半導体量子ドット イオントラップ 超伝導向け アナログI/O 半導体量子ドット向け アナログI/O イオントラップ向け アナログI/O 信号入出力・フィードバックマネージメントロジック 信号入出力タイミング管理ロジック パルス制御ソフトウェア パルス制御ソフトウェア パルス制御ソフトウェア ZCU111/RFSoC, QuBE, 低速DACボード QuBE (QSRH開 発装置) ハードウェア-ソフトウェアインターフェース SW ディジタル ロジック アナログ 回路 Qbit 中性原子向け アナログI/O 中性原子 パルス制御ソフトウェア ゲート操作インターフェース New New

Slide 31

Slide 31 text

イオントラップ向けの取り組み例 31 単一40Ca+イオンの蛍光画像 ラビ振動の観測の様子 ロジック 波形生成 DRAM 波形ソース Rfdc 6.554GSPS DAC/ 4.096GSPS ADC ZCU111 RFSoC 超伝導量子ビット向け波形生成の類似アーキ 必要なスペックの調査・実現 前谷和徳,三好健文,小池恵介,森榮真一,宮西孝一郎,豊田健二,根来誠,“RFSoCを活用した冷却イオン量子ビットのコヒーレント実験”,信学技報,vol.123,no. 261,RECONF2023-55

Slide 32

Slide 32 text

ヘテロジニアス・スケーラブルアーキテクチャ 32 • 時刻同期/共通波形生成方式をベースに統一の制御I/Fを定義

Slide 33

Slide 33 text

もっとアーキテクチャ • 量子ビットの制御のパイプライン化,VLIW(っぽい)化 • 古典コンピュータとのつなぎこみ • ユーザーレベルへのプログラミングインターフェース • 大規模量子ビットに対する制御をどうするのか?? • スタティックスケジューリング vs. ダイナミックスケジューリング 33

Slide 34

Slide 34 text

少し違う話 • 量子コンピュータエミュレーションの高速化 34

Slide 35

Slide 35 text

量子コンピュータシミュレーションの高速化?? 35 量子コンピュータのシミュレーションの 高速化・大規模化・高精度化が求められている 量子コンピュータのシミュレーションでは, 量子ビット数がn 倍で,時間もメモリも2^n 倍に しかし プロセッサを集めればいいというわけではない ← プロセッサ間の通信ボトルネック ← メモリアクセスの局所性でスケールしない可能性 量より質への転換: シミュレータ用アーキテクチャ FPGAでカスタムHW化するメリットがあるのでは? 量子コンピュータシミュレーション用のパイプライン演算ユニットを設計 パイプライン動作する複素数演算器のツリーを設計 1量子ビット操作: 4n秒に2個 2量子ビット操作: 4n秒に4個の確率振幅を計算 演算カーネルを間断なく動作させるアドレス生成・アクセス機構を設計 予測しづらいメモリアクセスパタンに対処可能なプリフェッチ・キャッシュ機構 とはいえ そこで 結果 専用ロジックならではのアーキテクチャを検討・実装 → メモリ帯域性能によりCPU/GPUには及ばず → 高性能化・大規模化・高精度化への展望を検討

Slide 36

Slide 36 text

量子コンピュータシミュレーションの敵 36 (Bytes)

Slide 37

Slide 37 text

FPGA+マルチSSDによる大規模エミュレータ 37 FPGAやSSDを使った400万円程度の量子シミュレーションシステム。慶大らが開発 https://pc.watch.impress.co.jp/docs/news/1553965.html#01_l.jpg K. Wei, R. Niwase, H. Amano, Y. Yamaguchi and T. Miyoshi, "A state vector quantum simulator working on FPGAs with extensible SATA storage," 2023 International Conference on Field Programmable Technology (ICFPT), Yokohama, Japan, 2023, pp. 272-273

Slide 38

Slide 38 text

FPGA+マルチSSDによる大規模エミュレータ 38 K. Wei, R. Niwase, H. Amano, Y. Yamaguchi and T. Miyoshi, "A state vector quantum simulator working on FPGAs with extensible SATA storage," 2023 International Conference on Field Programmable Technology (ICFPT), Yokohama, Japan, 2023, pp. 272-273 The simulated qubit size is increased with the number of SATA, 1, 2, 4, 8, 16, and 32 SATAs corresponding to 30, 31, 32, 33, 34, and 35 qubits simulation.

Slide 39

Slide 39 text

まとめ • 量子コンピュータの制御装置を開発しています • 誤り訂正量子コンピュータ実現のために • 高い安定性のある大量の制御装置が必要 • 大量の制御装置の同期が必要 • まずは仕様を満たすプロトタイプを鋭意開発・製造中 • 今後の開発課題はわんさかあります • 信号品質向上,スケーラビリティ,小型化,低消費電力化 • 誤り訂正回路(低レイテンシ,スループット向上) • 量子コンピュータで量子コンピュータ • QuEL(東京)でも大阪大学でも一緒に働いてくれる人を募集中です • ...適宜声をかけていただけますと幸いです • 共同研究も受付中です 39

Slide 40

Slide 40 text

40