第740回
Meteor LakeのNPU性能はGPUの7割程度だが消費電力が圧倒的に少ない インテル CPUロードマップ
スクラッチパッドRAMとDMAエンジンが追加
そしてもう1つ、新たに2つのNeural Compute Engineで共有する形でスクラッチパッドRAMとDMAエンジンが追加された。Myriad Xまでと異なり、Meteor LakeのNPUは専用の外部メモリーを持たず、システムで共用となる。帯域そのものはむしろ増えているとは言え、他の処理でもやはりメモリーアクセスが発生するわけで、利用できる帯域は間違いなく減っているだろうし、レイテンシーそのものも大きくなっていると考えられる。おそらくはこれを補う目的でスクラッチパッドが用意されたのだろう。
おもしろいのはこれがキャッシュではなくスクラッチパッドで、しかもDMAエンジンが外部から制御されることだ。キャッシュでないのは、SHAVEコアを含むNeural Compute Engineが自発的にプログラムを処理するというよりは、外部のコントローラーから渡された通りに処理をする形になっているので、以下の方式では無駄が多い。
処理をする→オンメモリーにデータがない→リクエストを出す→キャッシュに入る
なによりキャッシュにしたところでそのデータをすぐに再利用するかどうかは怪しい。それよりは外部のコントローラが先行して必要となるデータを用意し、DMAを使ってスクラッチパッドに転送、そのデータを使ってNeural Compute Engineが処理する方が待ちが少ないためだろう。
ただ普通スクラッチパッド用のDMAは、それが利用するプロセッサー(この場合で言うならNeural Compute Engine)が制御するのが一般的なので、少しおもしろい感はある。
ちなみにその外部のコントローラーにあたるのが下の画像である。ホストとのドライバーとの制御や2つのNeural Compute Engineへの処理の振り分けや結果の転送、電源管理、セキュリティなどの処理をまとめて行う格好だ。
VPUからNPUに名前が変わったのは
AIと機械学習に特化したから
ところでMyriad Xの世代まではVPUと呼ばれていたのが、なぜMeteor LakeではNPUに名前が変わったのか? であるが、連載566回でも説明したようにもともとMyriadシリーズは映像処理用のプロセッサーであり、映像処理用のフロントエンドや簡単なフィルタリングなどの機能も搭載されていた。機能的にはISPに近い。
これはMyriad Xでも同じであるのだが、Meteor Lakeの場合はそもそも独立してISPが搭載されているから、改めてもう一個ISPを搭載する必要がない。このためNeural Compute Engineは元よりその周辺から映像ハンドリング用の機能は完全に省かれ、純粋にAI/機械学習処理のみが行なえる構成になった模様だ。これに合わせて名前がVPUからNPUに変更になったものと考えられる。
週刊アスキーの最新情報を購読しよう
本記事はアフィリエイトプログラムによる収益を得ている場合があります