
2026/08/29 15:06
サムスンのプロセッシング・イン・メモリ(PIM)
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Hot Chips 2026 でサムスン電気は、LPDDR5X チップに統合されたメモリ内処理(PIM)テクノロジーを発表しました。この技術は、AI 計算能力をメモリアン内部のバンク内で直接向上させることを目的としています。PIM ブロックには MAC 演算ユニットおよび制御論理が含まれ、チップの全 16 バンクに分散配置されており、DRAM プロトコルを変更せずに内部帯域幅を 76.8 GB/s から 614 GB/s に増加させます。このシステムは、特別な行アドレスを利用して標準アクセスモードと「PIM レジスタ有効化」モード間で切り替えることで、INT8、FP8、および 4 ビットの入力形式をサポートし、チップあたり最大 2.4 TOPS のスループットを実現します。
しかし、このテクノロジーの採用には重要なトレードオフが伴います。計算がメモリアル内で実施されるため、推測実行、プリフェッチ、命令並列実行といった標準的な CPU の最適化は干渉を防止するために無効にされなければなりません。ソフトウェアは PIM リージョンを分離し、メモリーをキャッシュ非対応としてマッピングする必要があります。8 つの 16 GB チップを使用したシステム実装は、Intel の Meteor Lake NPU の計算性能と同等ですが、コスト増の代わりに大きな 128 GB のメモリアドレススペースが必要となります。将来的なソフトウェア適応を簡素化するため、サムスンは計算コマンド用の DRAM インターフェースの拡張や、メモリコントローラを対等な CPU コアとして機能させるように再設計するためのハードウェアアップグレードを推奨しています。究極的には、このイノベーションは既存の標準を用いて高パフォーマンスな AI を実現しますが、アーキテクチャ的な制限と費用増という課題も抱えています。
本文
サムスの LPDDR5X-PIM:インメモリコンピューティングの挑戦と展望
1. 技術的背景とサムスのアプローチ
インメモリコンピューティングは、チップ内部の高い帯域幅の利用や DRAM から計算コアへの長距離遅延パスの回避により、長年にわたり魅力的な提案として注目されてきました。Hot Chips 2026 で、サムスは PIM(Processing-in-Memory)による取り組みを継続することを表明しました。
- 基本コンセプト: LPDDR5X チップ内に MAC(乗加算)ユニットを実装しつつ、標準的なメモリコントローラーとのインターフェース能力を維持するアプローチを採用。
- 目的: 従来の「計算と記憶」の分離を打破し、メモリー内処理を実現すること。
2. アーキテクチャと性能特性
バンク構造と帯域幅の活用
- 通常の DRAM は内部でバンクに分割され、外部バスからは特定バンクへのアクセスが制限されます(通常最大 2 バンク並列)。
- サムスの LPDDR5X-PIM は、16 バンク搭載の LPDDR5X-9600 チップをベースにしつつ、各バンクにPIM ブロックを配置しています。
- PIM ブロックは外部バスに依存せず、直結した DRAM バンクを直接アクセス可能。
- 通常 DRAM アクセス: 最大 2 バンク並列 → 約 76.8 GB/s
- PIM アクセス: 16 バンク総動員(チップ内部帯域幅全体) → 614 GB/s
MAC アレイと計算能力
- PIM ブロック内部には、周辺レジスタファイルと制御ロジックを有するMAC ツリーが実装されています。
- インストラクションレジスタファイル: 1024 ビット(最大 64 つの 16 ビット命令格納可能)。
- ソースレジスタファイル: 4 kbit(活性化ベクトル用)。
- スケールレジスタ: 2 kbit(モデル重みのスケーリング係数用)。
- 計算フォーマット対応: INT8、FP8 などの低精度フォーマットに対応。
- データクロックあたり 4 つの INT8/FP8 MAC 動作可能(DDR を考慮せず)。
- 入力重みが 4 ビットの場合はさらにスループットが 2 倍。
- パッケージ全体の性能:
- 単一チップ: 2.4 TOPS
- 8 チップ構成 (128 GB メモリ): 9.6 TOPS(Intel Meteor Lake の NPU とほぼ同等)。
- 高価な構成となる点には留意が必要。
3. コントローラーとプロトコルの拡張
標準プロトコル内での計算機能開放
- 標準的な LPDDR5X プロトコルを維持しつつ、計算機能を**外部へ開放(Exposed)**しています。
- MMIO アドレスのような特別な行アドレスを確保し、モード制御を実現。
- 単一バンクモード: レギュラー DRAM アクセス。
- マルチバンクモード: 全 16 バンクにコマンドを適用し、チップ内部帯域幅を活用。
PIM レジスタ有効化モード
- 特定のバンク用行を有効化することで、読み書きコマンドが PIM レジスタにアクセスするようになります(PIM レジスタ有効化モード)。
- 想定される ML ユースケースのフロー:
- 単一バンクモードでモデル重みを DRAM にロード。
- マルチバンクモードへ切り替え。
- PIM レジスタ有効化モードへ移行。
- ソフトウェアが活性化値、スケーリング係数、操作命令をそれぞれ対応するレジスタに記述。
アドレス同期モード (Address Align Mode, AAM)
- PIM は SIMD 方式のため、通常は全バンクで同一の操作内容・係数が必要です。
- メモリコントローラーによるアクセス順序変更時に破綻しないよう、AAMを導入しています。
- 各命令がアクセスするカラムアドレスからソースレジスタのインデックスを推測させる仕組み。
データフローと初期化
- 書き込み (PIM レジスタへのデータ注入):
- マルチバンクモード時、PIM レジスタへの書き込みは全 16 バンクにブロードキャストされます。
- DRAM パケットサイズは 256 ビット(BL=16)のため、データ充填には 16 コマンド必要。16 バンク分順次行うと合計 256 回の書き込みコマンドが発生(ホスト帯域がボトルネック)。
- 初期化(Priming)後、マルチバンクモードに戻り読み取りを開始。
- 読み取り (計算結果の取得):
- 通常のデータ読み込みではなく、計算開始と PIM ベクトルレジスタファイルへの蓄積。
- 書き戻し:
- PIM ブロックから VRF(ベクトルレジスタファイル)の内容を DRAM バンクへ書き戻すコマンド発行。
4. システム整合性とパフォーマンス上の課題
メモリ管理とキャッシュの問題
- 領域の隔離: サムスはホストに PIM 領域をメモリ空間から隔離しています。
- インターリーブ廃止により、特定のチャンネルを PIM 専用と指定する必要があります。
- 結果、非 PIM アプリは予約チャンネルから帯域を失い、PIM コードも外部チャネルの計算能力享受できません。
- キャッシュ不可能 (Uncacheable) マッピング推奨:
- PIM は DRAM の遅延を緩和するためにキャッシュに依存しない設計です。
- キャッシュをスキップすることは単独の問題ではなく、PIM の読み取り動作がMMIO 同様副作用(計算)を持ち、不要なデータロードも計算を引き起こすため危険です。
- CPU/GPU はプリフェッチや順序外実行に依存しているため、これらを無効化すると性能が著しく低下します。
マルチタスク・並列性の壁
- スレッド間の干渉:
- PIM モードは DRAM アクセスコマンドの意味を変えます。PIM を利用しながら通常のメモリアクセスを行うことはできません。
- スレッド間でメモリ領域が共有されると、意図しない計算や誤った結果格納が発生します。
- ロックと同期の必要性:
- PIM 領域へのアクセスにはロックが必要ですが、OS 側でこれを実装するのは困難です。
- 理想的には OS が PIM 計算コード実行時に他のスレッドをブロックし、割り込みを無効にする必要がありますが、これによりシステム応答性が悪化します。
- コンテキストスイッチング:
- スレッド切り替え時には、PIM の状態(各種レジスタの内容)を保存・復元する必要があり、オーバーヘッドが発生します。
5. ソフトウェア実装の難しさと将来への提言
ソフトウェアレベルでのハードル
- パラダイムシフト: 既存の CPU/GPU パラダイムでは直感的に利用できません。
- データ移動のコスト: PIM ブロック間は直接通信できず、結果の利用には通常の DRAM リード・ライトが必要になります。
- 透明性の欠如: ハードウェア固有の実行バイナリを送信するため、移植性が低いです。
理想的なインメモリコンピューティング実現に向けた機能提案
ソフトウェアの導入を簡素化し、システム負荷を軽減するためのハードウェア機能の追加が望まれます。
- モードスイッチングの簡素化: DRAM インターフェース拡張により、計算コマンドを追加しモード切り替えの複雑さを排除。
- メモリコントローラーのキャッシュ一貫性確保:
- CPU コアと同様の対等な存在として振る舞わせる。
- 影響を受けるキャッシュラインに対し
(RFO) リクエストを発行し、変更データを DRAM に書き戻す。read-for-ownership - インメモリ計算完了まで所有権を維持させ、CPU がキャッシュバイパスなしで結果を安全に観測可能にする。
- 新しい CPU 命令セットの導入:
- 例:「
」のような命令を追加。rep macb - 固定乗数を用いたメモリーブロック全体に対する乗加算操作を実行(数値的特性は未定義)。
- ハードウェアが自動的に最適場所(DRAM 内計算かキャッシュ内計算か)を選択できる判断を可能にする。
- 例:「
結論
サムスの LPDDR5X-PIM は、標準コントローラーとの互換性を保ちながら劇的な性能向上を試みました。しかし、マルチタスク OS の整合性やキャッシュ戦略など、ソフトウェア実装における高い挑戦が残されています。ハードウェアのさらなる拡張(一貫性維持、透明な命令セット)なしには、PIM を広く利用するには至らないでしょう。