次にXCENA MX1である(図12)。HBM-PIMにしてもLPDDR5X-PIMにしても欠点は既存のハードウェアの変更というかチップの張替えになるし、メモリコントローラーもPIMに対応した制御が必要になる(このため2021年にSamsungがHBM-PIMを発表した際には、FPGAで専用のメモリコントローラーを構築していた)。これに対しMX1では、CXLメモリの先にNMCプロセッサを置くという実装を行った。これはホスト側から見ると、既存のOSやドライバ、コントローラーに一切手を入れる必要が無く、CXL対応のドライバを経由してアクセスできる、というか、OSにおけるCXLメモリの扱い方次第ではあるが、通常のメモリ空間の先にMX1があるような利用の仕方も可能だ。一方MX1の側からすると、ホストのメモリに容易にアクセスが可能になる。CIMではなくNMCだから、CIMに比べるとややメモリアクセスのコストは高くなるものの、PCIeベースのAI Acceleratorよりも低いコストでメモリの利用が可能になる。システムコストを最小に抑える、という観点で言えばLPDDR5X-PIMよりも現実的な案である。
図12:MX1はCXLの拡張カードの形で提供される。2TBのメモリを搭載可能(これはCXL 3.2 Type 3として扱える)な他、SSDをCXL Memoryとして外付け可能。恐らくカード右端の下側のコネクターは、SSD接続用のOCuLinkコネクターと思われる[クリックで拡大] 出所:XCENAMX1の構成そのものは比較的分かりやすい。RISC-VベースのMU(Memory xcelerator Unit)が全部で3072個搭載されている。このMUというかRISC-Vコアは名前の通りメモリアクセスを担う処理を行うが、これとは別にコアの外に独自のVPE(Vector Processing Engine)を搭載しており、これでAI処理を行う仕組みになっている(図13)。VPEではDot Productなどを実施可能で、CNNの高速化以外にも算術演算系などにも利用可能な構成になっているようだ(図14)。今回VPEの詳細は公開されていないが、XCENAはこのVPEがNMCの役割を果たす。図14にあるように、おのおののVPEには専用のSRAMバッファが搭載されている。このSRAMにデータを格納し、あるいは計算結果を取得するのは各MUの処理である。もっとも個々のMUも必要に応じて演算を行う事が可能になっている。3TFlopsという演算性能は、3072個のMU+24個のVPUの合計の数値、と考えるのが妥当と思われる。
Copyright © ITmedia, Inc. All Rights Reserved.
記事ランキング
コーナーリンク