Slide 1

Slide 1 text

MN-Core Arch deep dive 真島 優輔 AIコンピューティング事業本部 MN-Core 開発部 Engineering Manager 株式会社Preferred Networks

Slide 2

Slide 2 text

2 自己紹介 真島 優輔(まじま ゆうすけ) AIコンピューティング事業本部 MN-Core開発部 2022/10 株式会社Preferred Networks入社 2025/6より現職(エンジニアリングマネージャー) ● 約20年間、主にスタートアップ・ベンチャーで半導体設計を経験 ○ チップ設計〜製品化〜顧客サポートの領域で手を動かした経験 ● 途中3年間、AIがやりたくてソフトウェア企業に在籍 ○ 推論エンジンとそれを使ったライブラリ製品の開発に従事 ● AIと半導体の両方を高いレベルで扱えるPFNに魅力を感じて転職 ● 次世代MN-Coreを開発中

Slide 3

Slide 3 text

3 ● MN-Coreを特徴付ける3つの要素 ● 3つの特徴から生み出される5つのアドバンテージ ● MN-Core2 チップイメージ ● まとめ 今日のアジェンダ

Slide 4

Slide 4 text

4 2024年のMN-Core勉強会に参加した方はいらっしゃいますか? その前に...

Slide 5

Slide 5 text

5 MN-Coreを特徴づける 3つの要素 巨大なSIMD 広大な ローカルメモリ 明示的な データ転送

Slide 6

Slide 6 text

6 巨大なSIMD 行列演算回路 A x B + C 行列演算回路が 1024個あり、1つの命令で同時に動作する MN-Core2の構造 Hot Chip 2024発表資料より 16ビット浮動小数点数の行列演算の場合 ● MABひとつの行列演算回路で 512FLOP/cycle ● チップ全体で同時に 512 x 16 x 8 x 8 = 524,288 FLOP/cycle 階層構造でタイルされた巨大な演算回路 L2B: Level-2 Broadcasting Block L1B: Level-1 Broadcasting Block MAB: Matrix Arithmetic Block MAU: Matrix Arithmetic Unit

Slide 7

Slide 7 text

7 広大なローカルメモリ ● 2つのGRFs (256 64-bit words each) 1R1W ● 2つのLocal memories (2048 64-bit words each) 1RW MAB内の4つのProcessing Elementに、それぞれ大きなレジスタ・ ローカルメモリ領域を持つ PE

Slide 8

Slide 8 text

8 キャッシュのない構造による明示的なデータ転送 L1BM L1BM L2BM PE PE PE PE PE PE $ $ DRAM L1BM PE PE L1BM PE PE PE L2BM L1BM PE PE PE $ $ データキャッシュがないのでソフトウェアが明示的に、いつ・どこから・どこへ データ転送を行うかを指定することができる 明示的な移動だからこそ、そ れと同時に、 broadcastや reduction演算が行える

Slide 9

Slide 9 text

9 3つの特徴から生み出される 5つのアドバンテージ

Slide 10

Slide 10 text

10 ①reduction演算のために演算器が遊ばない ● 例えば、Convolutionではチャネル方向に総和を取る ● GPUでは各演算器(SMなど)で各チャネルの畳み込み、あるいは、それらを複数足し 込んだ部分和を求めた後、最後にL2キャッシュを経由してひとつの演算器で総和を求 める ● MN-Coreでは演算結果をデータ移動させながら、総和を取ることができる ● 総和を取るために一部演算器だけが動く期間がない 明示的なデータ移動と同時に reduction演算が可能なため、一部演算器を reductionに充てる期間が不要 reduction演算のためにアムダールの法則で悩んでいませんか? 明示的な データ転送

Slide 11

Slide 11 text

11 ②同期待ちが簡単で、無駄な待ち時間が少ない ● MN-Coreは全ての演算器が、同じ命令ストリームで、かつ、ほぼ同じクロックで動作す る ● (それゆえの難しさもあるので、それは後述) ● 同じ命令を同じ時刻に処理する ● 演算器の処理性能スペックには現れない部分で速いソフトウェアが実現できる! 巨大SIMDのためチップ内ではバリアがなくても同期が容易。全演算器がほぼ 同時に処理を完了するため、無駄な待ちが少ない 同期待ちのためにアムダールの法則で悩んでいませんか? 巨大な SIMD

Slide 12

Slide 12 text

12 ③バンド幅の効率的な利用が可能 ● L2キャッシュがあるアーキテクチャでは、L2キャッシュの帯域に間に合うようなバンド幅 でキャッシュへデータ供給できることが望ましい(キャッシュミスのペナルティが大きくな る) ● Blackwell世代の2ダイ構成GPUの場合、ダイ間をキャッシュコヒーレントにするた め、なんと10TB/sのバンド幅で接続している。 ● MN-Coreはどこにどのデータがあるか全てソフトウェアで管理できるので、必要以上の バンド幅が不要 明示的なデータ転送により帯域が設計通りに得られるため、キャッシュコヒーレ ンシーのために過剰なバンド幅が不要 マルチダイの L2キャッシュでパフォーマンスが落ちていませんか?? 明示的な データ転送

Slide 13

Slide 13 text

13 ④演算性能あたりのレジスタ容量が高い 広大なローカルメモリが演算器の性能にマッチするデータ供給ができるので、 演算効率が出しやすい 行列演算器あたりの 演算性能 (FP16) 行列演算器が使える レジスタ 備考 RTX5090 Tensor Core 616 GFLOPS 63.8KB ・チップあたり419TFLOPS / 680個の Tensor Core ・32 bits x 32 threads x 255 registers / thread MN-Core2 MAB 384 GFLOPS 144KB 4 PEs x {GRF 4KB + LM 32KB} GPUよりカーネルの性能が出しやすい! https://images.nvidia.com/aem-dam/Solutions/geforce/blackwell/nvidia-rtx-blackwell-gpu-architecture.pdf https://docs.nvidia.com/cuda/blackwell-tuning-guide/index.html 広大な ローカルメモリ

Slide 14

Slide 14 text

14 ⑤電力制御が容易で安定動作 ● 近年の半導体は低電圧(0.7Vなどが標準)だが、ムーアの法則終焉により電 力が下がらない。つまり電流が大きい i(t)=P(t)/V ● 電流は演算負荷状況によって変動し、電流の変化は各種寄生インダクタンス により V(t) = V0 - Ri(t) + Ldi/dtにより即電源電圧の変動につながる 巨大SIMD演算器に明示的なデータ転送でデータ供給できるため、いつどれだ け電力を消費するかがわかるため、安定動作に強い 巨大な SIMD 明示的な データ転送 L MN-Core 0.7V V0 i(t) v(t) R

Slide 15

Slide 15 text

15 ⑤電力制御が容易で安定動作 (contd.) ● 急激な電流変動は電圧スパイクを起こし、チップの誤動作につながるので、演算負荷 を徐々にあげることが大事 ● MN-Coreは巨大SIMDの同時動作で急変動を起こしやすい反面、決定的な動作のた め予測が可能 。クロック周波数を制御したり、nop命令を挿入したりで急変動を抑える ことができる。裏を返すと安定動作のためのガードバンドが少なくて済むため、パ フォーマンスを出しやすい。 ● (ユーザーSWは気にしないで大丈夫) 巨大SIMD演算器に明示的なデータ転送でデータ供給できるため、いつどれだ け電力を消費するかがわかるため、安定動作に強い 次機種ではより積極的な制御を予定! 巨大な SIMD 明示的な データ転送 i(t) v(t) 電圧波 形 電流波 形 演算ピーク時に 大電流 V0 Vmin 誤動作

Slide 16

Slide 16 text

16 5つのアドバンテージ reduction演算のために 演算器が遊ばない 同期待ちが簡単で、無駄 な待ち時間が少ない バンド幅の効率的な利用 が可能 演算性能あたりのレジス タ容量が高い 明示的な動作により電力制 御が容易で安定動作 巨大な SIMD 広大な ローカルメモリ 明示的な データ転送 ① ② ③ ④ ⑤

Slide 17

Slide 17 text

17 MN-Core2 チップイメージ

Slide 18

Slide 18 text

18 MAB/L1B/L2B が敷き詰められている 残りは ● On-chip network ● PCIe gen4 16 lanes x 4 ● DRAM I/F x 8 ● 制御用回路 ○ 命令発行回路 ○ マイコン ○ GPIO, PLL etc. MN-Core2 チップイメージ

Slide 19

Slide 19 text

19 まとめ

Slide 20

Slide 20 text

20 まとめ ● MN-Coreは「巨大なSIMD」であり、「広大なローカルメモリ」に「明示的なデー タ転送」することで高効率を実現している ● その特徴から ○ バリア同期やreduction演算待ちが不要 ○ キャッシュがないため過剰なバンド幅が不要 ○ 大きなローカルメモリを使ってカーネルを高効率に処理 ○ 安定動作 ● チップのイメージを見て巨大なSIMDを実感

Slide 21

Slide 21 text

Make the real world computable and create the future together