2018年から、いろいろな形でアナウンスされていたIntelの第2世代「Xeon Scalable(コード名:Cascade Lake)」プロセッサーが4月2日(米国時間)に正式発表され、各サーバーベンダーからも製品が出荷されることになった。2019年1月に米国ラスベガスで開催された「CES」に併せて行われた記者発表会で同社は、「Cascade Lake-SP(開発コード名)」を顧客に出荷し始めたとアナウンスしていたが、正式発表は4月3日まで大幅にずれ込んだことになる。
第2世代のXeon Scalableは、VNNIやOptane DC Persistent Memoryがサポートされた。CPUコアとしてはSkylake世代と大きく違いはない(Intel Data-Centric Innovation発表会のビデオより)
第2世代Xeon Scalableは14nmプロセスで製造されている。基本的にはSkylake-SPを若干改良したモデルだ。数年前のIntelの戦略では“TickーTock”ということで、Cascade Lakeでは10nmに製造プロセスを微細化しているはずだが、製造プロセスの微細化に時間がかかるようになり、3世代ほど同じプロセスを使用する予定だ(HotChips2018年の資料より)
実は、第1世代の「Xeon Scalable(Skylake-SP)」の発表後、Cascade Lakeは2018年の早い時期に出荷されると言われていた。しかし、2018年は半導体製造プロセスの10ナノメートル(nm)プロセスが順調に立ち上がらなかったり、クライアントやサーバー向けのプロセッサー全てにおいてセキュリティ上の大きな問題(SpectreやMeltdown問題)が発生したりしたため、プロセッサーのハードウェア部分を改良するなど、時間がかかったのだろう。
Cascade Lake-SP自体は、14nmプロセスで製造されている(SkyLake-SPの14nmより改良されている)。プロセッサーのアーキテクチャー自体もSkyLakeをベースにしている。細かな部分の改良は行われているが、ほとんどSkylakeコアのままだ。
大きな改良部分としては、「Vector Neural Network Instructions(VNNI)」という新たなAVX512の拡張命令が追加されたことだ。VNNIは、Xeon PhiでAVX512を拡張し、追加された。AVX512自体は、Skylakeにポーティングされていたため、Cascade LakeでのVNNIの採用は正常進化といえるだろう。VNNIとして追加された命令は、INT8の計算を行うVPDPBUSD、INT16の計算を行うVPDPWSSDの2つだ。次世代のXeon ScalableではbFloat16が追加される。
VNNIによってユーザーは、ディープラーニング/マシンラーニング(以下、DL/ML)を高速化する「Intel Deep Learning Boost」が利用できる。これは、プロセッサーの機能というより、VNNIなどの人工知能(AI)機能を高速化する命令セットと新たな命令セットをデフォルトで使用するフレームワークとなるCaffe、mxnet、TensorFlowなどを含めたシステムのことを指している(ある意味でIntelのマーケティング用語といえるかもしれない)。
また、ディープラーニングのライブラリとして「Math Kernel Library for Deep Neural Networks(Intel MKL-DNN)」が用意されている。Intel MKL-DNNは、Intelプロセッサーの命令にチューニングしたディープラーニング用の計算ライブラリだ。
Intelとしては、今回のCascade Lakeで追加したVNNIだけではなく、将来的にはXeonにさまざまなAI向けの命令セットを追加する予定だ。実際、Cascade Lakeの次のサーバー向けプロセッサーとなる「Cooper Lake(開発コード名)」では、bfloat16がAVX512の命令セットに追加される予定となっている。Intelの方針としては、今後Xeonに追加していくAI関連の機能やAIフレームワークを総称して「Intel Deep Learning Boost」と名付けているようだ。
昨今では、サーバーの利用シーンがデータベースなどのデータ処理からDL/MLなどの処理に比重が移るにつれて、DL/MLを効率よく処理できる命令セットが必要になってきた。これは、DL/ML用のプロセッサーとしてNVIDIAのGPUが主流を占めており、IntelはXeon上でもAI機能を強化していく必要に迫られたというのが実情だろう。
NVIDIAのGPUがDL/MLなどの処理用プロセッサーとして市場で位置付けられれば、高パフォーマンスで高価なメインプロセッサーとしてのXeonの必要性はなくなり、将来的にx86プロセッサーである必要もなくなるかもしれない(GPUと密結合したARMプロセッサーで十分になるかもしれない)。これはIntelにとって将来の危機感の現れともいえる。
DL/MLに関しては、Intel自体もさまざまな取り組みを行っている。2016年に買収したNervana Systemsが開発していたAI向けのプロセッサー「Nervana Neural Network Processor」を2018年にアナウンスした。2015年にはFPGA(Field Programmable Gate Array)メーカーのAlteraを買収したり、2016年にはUSBスティック型のディープラーニングチップを開発していたMovidiusを買収したり、2017年には自動運転用の画像解析システムを開発していたイスラエルのMobileyeを買収したりしている。
Intelは、AIのハードウェア面だけではなく、ソフトウェア面にもテコ入れをしている。例えば、ディープラーニングエンジン「PlaidML」を開発していたVertex.aiを買収している(Vertex.aiはMovidiusのチームに編入された)。
AI分野で買収したハードウェアやソフトウェアを統合するのが、「OpenVINO」となる。OpenVINOは、AI用の用意されたハードウェアを抽象化し、ソフトウェアとしては単一のフレームワークとして実行する。サーバーにNervanaのAIチップを搭載しているのか、FPGAなのか、GPUなのか、CPU単体なのかなど、ハードウェアを気にしてプログラミングする必要がなくなる。OpenVINOがミドルウェアとなり、全てのハードウェアを適切にサポートする。ハードウェアにディープラーニング用のチップが搭載されている場合は、OpenVINOがミドルウェアとなって、ディープラーニングにかかる時間が大幅に短縮する。もし、ディープラーニング用のチップがない場合は、VNNIをサポートしたXeon Scalableプロセッサー用にコードを展開し、処理していく。
アプリケーション側としては、AI専用のハードウェアを意識することなく、OpenVINOがミドルウェアとして適切に処理してくれるから、AIを取り込んだアプリケーションの開発にかかる難易度は低くなる。