Intel“逆襲”の鍵はやはり「AIプロセッサ」か 次世代CPU「Core Ultra(Meteor Lake)」を解説(後編)(1/4 ページ)

» 2023年09月22日 18時50分 公開
[西川善司ITmedia]

 Intelは9月19日(米国太平洋夏時間)、モバイル向け次世代CPU「Core Ultraプロセッサ」(開発コード名:Meteor Lake)のアーキテクチャの詳細を発表した。

 発表に先駆けて技術説明会に参加した筆者は、その詳細を2つの記事に分けて紹介することにした。前編は、読者からの関心が特に高いであろう、CPUコアにまつわる特徴を中心に解説している。

 前編で取り上げたことを軽くおさらいすると、以下の通りとなる。

  • Meteor Lakeは「タイルアーキテクチャ」という、Intel独自のチップレット技術を採用
  • タイル(チップレット)は「Compute」「Graphics」「I/O」「SoC」の4つ
  • Compute Tileは、基本的に第12/第13世代CoreプロセッサのPコア/Eコアの改良版
  • SoC Tileにも、追加で消費電力をより削減したCPUコア「LP Eコア」を搭載
  • PコアとEコアに処理を割り振る「Intel Thread Director」に改良を実施

 今回は、SoC Tileに搭載されるLP Eコア以外の機能と、Graphic TileやI/O Tileの詳細をひもとく。

【訂正:9月24日8時20分】NPUのスペック表記の一部に誤りがありました。おわびして訂正いたします。

Core Ultra Core Ultraプロセッサとして正式発表されたMeteor Lake

全モデルに搭載される「NPU」

 SoC Tileには、LP Eコアと並んで注目すべき機能として「NPU(Neural-network Processing Unit:AIプロセッサ)」が搭載されている。NPUはAI(人工知能)に欠かせない「推論処理」を高速化する演算ユニットで、「推論プロセッサ(アクセラレーター)」とも呼ばれる。

 NPUは従来、GPUやスマートフォン向けSoCに搭載されることが多かった。GeForce RTXシリーズなど、NVIDIAのGPUに搭載されている「Tensorコア」や、AppleのMac/iPhone/iPad向けSoCに搭載される「Neural Engine」などは、広く認知されているだろう。

 神経回路を意味する「Neural(ニューラル)」を冠することから、えらく高度なことをやっているようなイメージもあるNPUだが、実際にやっていることはただの行列演算である。

 Meteor Lakeに搭載されたNPUは、Intelに買収されたMovidius(モビディウス)という企業が開発していた「VPU(Vision Processing Unit)」の思想を色濃く反映している。

ダレン・クルーズ氏 Meteor LakeのNPUを解説するダレン・クルーズ氏(AIソフトウェアアーキテクチャ担当シニアプリンシパルエンジニア)

 Meteor Lakeでは、1基のNPUに2基の「NCE(Neural Compute Engine:ニューラル演算エンジン)」が搭載されている。NCEの1基当たりの演算能力は、FP16(16bit浮動小数点演算)で1クロックあたり1024回、INT8(8bit整数演算)で1クロックあたり2048回だ。

ブロック図 Meteor Lakeに搭載されたNPUのブロック図。1基のNPUが2基のNCEを内包している
ブロック図 ブロック図をジッと見つめると、1基のNCEは4SIMD演算器を32基搭載しているように見える。Intel Arc Graphicsシリーズ(GPU)における「XMX(Xe Matrix Engine)」と構成が似ている

 Meteor LakeのNPUには、推論プロセッサの他、128bitの「SIMD-VLIWプロセッサ」も搭載されている。このプロセッサはいわゆる「DSP(Digital Signal Processor)」なのだが、Intelによると、これはMovidiusが開発した「SHAVE(Streaming Hybrid Architecture Vector Engine)」を“そのまま”載せたものだという。

 一般的に、DSPは入力されたデータストリームの1つ1つに対して、短いプログラムを適用して演算を進めるイメージがある。それに対して、SHAVEはPlayStation 3のメインプロセッサとして知られる「Cell Broadband Engine」に内包されていた「SPU(Synergistic Processing Unit)」に似た実装となっている。

 具体的には、メインCPUを介さずにメインメモリからデータを入出力できる「DMA(Direct Memory Access)」に対応している他、スクラッチパッドメモリをローカルメモリ空間として活用し、超高速なデータ加工を行えるようになっているからだ。

 ブロック図を見ると、SHAVEが占める面積は小さい。しかし、ほぼCPU的に複雑なデータ処理を行える。具体的には、128bitベクトル演算器、32bit整数演算器、32bit整数8要素SIMDスカラ演算器、比較命令、分岐予測、ループ制御など、高度なプログラミングが可能な各種演算器を搭載している。依存関係がなければ、1クロックあたり最大で8つの命令を実行できるという。

SHAVE NPUにはMovidusが開発したDSP「SHAVE」をそのまま2基搭載しているという

 さて、気になる「NPUの活用方法(≒プログラミングモデル)」だが、新命令セットを用いるのではなく、Intelが開発した深層学習型AIの開発フレームワーク「OpenVINO」のAPIを介して利用する形態を取る。Microsoftと連携して開発してきた、WindowsからNPUを利用するためのサブシステム「MCDM(Microsoft Compute Driver Model)」にも対応する予定となっている。

 そのため、AIを利活用するWindowsアプリがOpenVINOまたは「DirectML」をベースに構築されている場合、PCにMeteor LakeのNPU/GPU用のMCDMドライバーがインストールされていれば、NPU/GPUによるAIアクセラレーションが有効となる。

 ちなみに、MCDMドライバーの実体構造は「3Dグラフィックス関連の機能を省いたGPUドライバー(≒WDDMドライバー)そのものに相当」するそうだ。

 なお、NPUが搭載されておらず、かつMCDMドライバーのないGPUを使っている環境でも、OpenVINOから「MKL-DNN(Intel Math Kernel Library for Deep Neural Networks)」にアクセスできれば、CPUコアを用いた代替演算で当該アプリを稼働できる。

ソフトウェアスタック Meteor LakeにおいてAI処理を行う際のソフトウェアスタックの図。NPUを利用する場合は、OpenVINOあるいはDirectMLを用いることになる(DirectML経由でWinMLやONNX RTからもアクセス可能)
タスクマネージャー Windows 11の「タスクマネージャー」でも、NPUの稼働状況をチェック可能だ

 Intelでは、今後リリースされるCoreプロセッサの多くにNPUを搭載する予定だという。とりわけ、Meteor Lakeでは全製品(SKU)にNPUを搭載するとしていて、「AIアプリの実行」という観点から、Intelプラットフォームの“巻き返し”を図る方針だ。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

最新トピックスPR

過去記事カレンダー