Asayomu Tech
注目★★★★Hacker News

Apple M1 Neural Engine、16コアの内部構造を再解剖

30秒で把握

  • 1Apple M1 ANEの16コア構成と2048本のMACレーンを再解析
  • 2ANEは命令実行でなく固定長Task DescriptorとControlDMAで構成
  • 333エントリLUTやBAR配置からCNN向けデータフローを特定

要約

著者は、停止していたApple M1のNeural Engine(ANE)ドライバ開発を再開し、演算・データパス・スケジューラ・メモリ・実行モデルの内部構造を逆解析した。M1 ANEは16個の演算コアを持ち、各コアに128本のFP16または256本のINT8 MACレーンを備える。ANEはCONVやMATMULの命令を直接実行せず、コンパイル済みの固定長Task DescriptorがControlDMAでレジスタ設定を書き込み、各処理を構成する。解析では、32ビット固定小数点の累算器、33エントリの区分線形LUTによる活性化関数、BARを用いた仮想アドレス配置などを特定した。著者は、CNN時代の予測可能なデータ再利用を前提にした設計が、Transformerの自己回帰デコードとは異なることを論じ、M5でANEコアがGPUへ統合された背景をこのデータフローの転換と結び付けた。

あなたへの影響

Apple向け低レベル実装やアクセラレータ研究に関わるエンジニアは、ANEを汎用GPUのように扱えない前提で、既存ドライバとコンパイル済みTask Descriptorの挙動を検証するとよい。

推奨:CNN向けの固定データフローとTransformer向け実行モデルの違いは、NPU選定や移植性の判断に影響し得る。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。