後藤弘茂のWeekly海外ニュース
Intelがスパコンカンファレンスで「Knights Landing」を正式発表
2016年6月22日 13:56
スーパーコンピュータのISC 16をお披露目の場としたIntel
Intelが次世代Xeon Phiプロセッサ「Knights Landing(ナイツランディング)」を“正式”にリリースした。1チップに最大72コアを集積し、各コアが512-bit幅のベクタユニットを2基備え、32-bit単精度浮動小数点演算で6TFLOPS以上、64-bit倍精度で3TFLOPS以上を叩き出す。ハイエンドGPUに匹敵するピーク性能の次期メニイコアプロセッサだ。製品名は「Xeon Phi 7200」ファミリとなる。
Intelはドイツのフランクフルトで開催されているスーパーコンピューティングのカンファレンス「ISC(International Supercomputing Conference) 2016」に合わせて、Knights Landingの最終的な製品仕様を発表、出荷をアナウンスした。また、ISCにおいて、IntelのRajeeb Hazra氏(Vice President, Data Center Group/General Manager Enterprise and Government Group)が特別講演を行ない、Knights Landing(KNL)の性能の優位を謳った。
Knights LandingはIntelの14nmプロセスで製造される、「MIC(マイク:Many Integrated Core)」アーキテクチャCPUだ。メニイコアプロセッサであるため、IntelのCoreやXeonと比べるとCPUコアのサイズは小さい。アウトオブオーダ実行型のAtomコア「Silvermont(シルバモント)」をベースに、512-bit幅のベクタユニットを2基備えたCPUコアを72コア集積する。
IntelのメインストリームCPUコアとの違いは、CPUコアが相対的に小さいのに、ベクタ演算性能が非常に高い点。Atomをベースに、AVXを大幅に強化したCPUコアだ。GPUとの大きな違いは、GPUコアはシングルスレッド実行のためのスカラパイプを持たないのに対して、Knights系メニイコアは、通常のCPUと同様にスカラパイプを備える点。そのため、通常のCPUのようにプログラムできる。
前世代のXeon PhiであるKnights Corner(KNC)は、Pentium(P54C)系パイプラインをベースに、ベクタユニットを1基備えたコアだった。それに対して、Knights Landing(KNL)スカラパイプとベクタパイプの両方が強化されたため、シングルスレッドの性能も大幅に上がっている。Intelはシングルスレッド性能は、Knights Landing世代でKnights Cornerの3倍に上がったと説明している。
Knights Landingは4製品に2つずつのバリエーション
Knights Landingの製品は4系列。フルスペックの「Xeon Phi 7290」は72 CPUコアで1.5GHz動作、オンパッケージメモリの転送レートは7.2GT/sec、オフパッケージメモリDDR4の転送レートは2.4GT/secとなっている。続くXeon Phi 7250/7230/7210と数字が小さくなるにつれて、スペックが落ちる。Xeon Phi 7210では、64コア/1.3GHz/6.4GT/secオンパッケージメモリ/2.133GT/secオフパッケージメモリとなる。価格はXeon Phi 7290の6,254ドルから、Xeon Phi 7210の2,438ドルまで幅がある。
TDP(Thermal Design Power:熱設計消費電力)は最上位のXeon Phi 7290が245Wである。ほかは215Wだ。また、全ての製品に、Intelのハイスピードインターコネクトファブリックを統合したバージョンが用意される。通常版はブート可能なソケット版パッケージで、ファブリック統合版はソケットにファブリックの端子が付属した別パッケージとなる。
重要な点は、最上位から最下位までファミリで、メモリ量とメモリインターフェイスのサポートが同じである点。オンパッケージメモリは16GB、DDR4は384GBで共通している。大型ダイのCPUやGPUに見られるような、メモリインターフェイスユニットを一部無効にした製品の差別化は行なっていない。
アーキテクチャが完全に刷新されたKnights Landing
Knights LandingのCPUコアは2命令デコードのアウトオブオーダ実行型コアで、22nmのAtomコアSilvermontをベースに拡張している。命令ディスパッチは整数演算2、メモリオペレーション2、SIMD/浮動小数点(FP)演算2の2ポートだ。2個のベクタユニットは、FPユニットのポートに割り当てられている。最大4個のスレッドのインフライト実行が可能な4スレッドのSMT(Simultaneous Multithreading)機能を備える。
Knights LandingのCPUコアは、Intelの最新CPUと命令セットはほぼ互換。レガシーのコードは、再コンパイルの必要がなくKnights Landingでそのまま走る。ベクタ命令はIntelのSIMD命令AVXの拡張版の位置付けの「AVX-512」となり、従来のKnights Cornerのベクタ命令とは異なる。つまり、Knights Landingからは、ベクタ命令が今後のIntelのメインストリームCPUと互換となり共有される。IntelのメインストリームCPUでは、AVX-512はXeon版Skylake(スカイレイク)から実装されているが、差異がある。共通のAVX-512命令と、MICアーキテクチャ系のMIC-AVX512、Coreアーキテクチャ系のCORE-AVX512だ。この差異については、Intelはコンパイラオプションで対応する。
Knights Landingでは、CPUコアは2コアがバインドされ1MBのL2キャッシュとオンチップインターコネクトを共有する。オンチップネットワークは2Dメッシュで、CPUタイルとI/Oユニットがタイル状に配置されている。従来のKnights Cornerでは、CPUコアは1コアずつリングバスに接続されていた。今回のKnights Landingでは、メッシュをロジカルに分割することで、CPUコア数の増大による、内部トラフィックの増大を制御する。
Knights LandingはオンパッケージにMicron Technologyと共同開発した広帯域メモリMCDRAMを搭載する。製品版ではMCDRAMのメモリ容量は16GB。また、オフパッケージのメモリとしてDDR4を6チャネル接続できる。帯域の異なる2種類のメモリは、3つの異なるモードで制御が可能だ。MCDRAMをDDR4のキャッシュとして使う「キャッシュモード」、MCDRAMをDDR4と同じメモリアドレス空間に割り当てる「フラットモード」、そして両モードを混合した「ハイブリッドモード」だ。
また、Knights LandingはHPC(High Performance Computing)向けの高性能インターコネクトもパッケージに統合したバージョンを用意する。Intelが開発した「Omni-Path」ファブリックで、ポートあたり25GB/secの帯域で2ポートを備える。Omni-Pathは別ダイで、Knights Landing本体のダイとは2xのPCI Express x16レーン(合計32レーン)で接続しているが、将来はCPUダイに統合するという。
エクサスケール時代を見据えたKnights系アーキテクチャ
ISC 16では、Intelは「AI and more on IA」と題した特別講演を、Rajeeb Hazra氏(Vice President, Data Center Group/General Manager Enterprise and Government Group)が行なった。Intelは現在HPC(High Performance Computing)業界がターゲットとしている次々世代スーパーコンピュータの性能レンジ「Exascale(エクサスケール)」について触れた。現在のスパコンは1システムで100TFLOPSに届き始めたところで、次の大きな目標が1ExaFLOPS(エクサフロップス)となっている。
Hazra氏は、Exascaleのコンピューティング性能が必要となる例として自動運転を取り上げた。2万台のクルマを1日走らせると、インフラストラクチャとして1ExaFLOPSのコンピューティング量が必要になるという。
その上で、Hazra氏は膨大な演算能力を必要とするワークロードが多様化する状況に、柔軟に対応するためには単一アーキテクチャのフレームワークが必要だと訴えた。Intelの解が、MICアーキテクチャのKnights Landingというわけだ。
Hazra氏の講演のスライドでは、Xeon Phi「コプロセッサ」の「コ」に×印がつけられ、「プロセッサ」となっている。これは、Knights Landingでは、Xeon Phi自体でブートしてホストOSを走らせ、単体プロセッサとして動作が可能だからだ。Intelはセルフブータブルであることを、Knights Landingの大きな特徴として強調している。GPUやアクセラレータ型の、ホストCPUから制御されるプロセッサとは異なるモデルだからだ。
IntelのMICアーキテクチャでは、本来CPUコアのスカラ(scaler)パイプ自体はIntelのx86 CPUそのものなので、Xeon Phi自体でブートして単体CPUとして動作できる。しかし、前世代のKnights Corner(KNC)までは、スカラパイプはPentium相当の非常に低性能のコアだった。そのため、実際には、Xeon Phiだけでブートして動作させることは、性能上無理があった。
しかし、Knights Landingからは、スカラパイプは最新のAtomコアSilvermontベースに変わった。CPUコアの命令デコード幅は、Knights Corner(KNC)もKnights Landing(KNL)も同じく最大2命令/サイクルだ。しかし、スカラパイプは、KNCの古いインオーダ実行で浅いパイプのP54C系から、KNLではアウトオブオーダ実行で深めのパイプのSilvermont系となった。そのため、Knights Landingでは、コアのシングルスレッド性能が劇的に上がった。
また、Knights Landingでは、CPUコアのレガシー命令も完全互換となり、ベクタ命令もAVX512に変わり、IntelのメインストリームのCPUとほぼ互換となった。Knights Landingでは、IntelのXeonやCoreなどのメインストリームCPUと同じ命令が走るため、ソフトウェアのコードにほぼ手を入れずに済むようになった。
Intelは、過去2世代のMICアーキテクチャ、Knights FerryとKnights Cornerの経験を踏まえて、Knights Landingを送り出した。アーキテクチャは前2世代とは大きく変わり、Intelの狙いもより明瞭となって来た。Intelは、Knights Landingからは、単体プロセッサで動作できるシンプルな実行モデルをGPUとの差別化として打ち出し、GPUが強いHPC市場から、HPC化が進む今後のデータセンターへと浸透させて行くビジョンだ。