Hot Chips 27において、IntelのKnights LandingのチーフアーキテクトのAvinash Sodani氏が次世代Xeon Phiとなる「Knights Landing(KNL)」の発表を行った。既報のとおり7月のISC 2015でも発表が行われたが、今回は、この時は触れられなかったネットワークについての情報や性能に関する情報が含まれた発表となった。
Hot Chips 27にてKnights Landingについて発表するIntelのAvinash Sodani氏 |
Knights Landingは72コアであることを正式に発表
KNLが72コアであるというのは公然の秘密であったが、これまで、Intelは正式に72コアという数字を出していなかった。今回の発表では、36タイル、72コアであることを正式に発表した。コアを接続するネットワークは、KNC(Knights Corner)ではXeonと同じリングバスであったが、KNLでは2次元メッシュに変更されている。
ISC 2015の記事では、36タイルということは6×6のメッシュかと書いたのであるが、今回の発表で6×9のメッシュであることが明らかになった。プロセサのタイルの数よりずっと大きい数字になっているのは、MCDRAMやDDR DRAMの接続、PCIeやその他のI/O接続のタイルが含まれているからである。
KNLの大きな特徴は、この2Dメッシュネットワークの採用とMCDRAMと呼ぶ3D積層の高バンド幅DRAMを同一パッケージに搭載してメモリバンド幅を大幅に改善した点である。MCDRAMを使うとStream Triadベンチマークの性能が400GB/sを超えると書かれており、MCDAM全体のピークのメモリバンド幅は500GB/sを超えると思われる。
そして、大容量のメモリを実現するために6チャネルのDDR4 DIMMのインタフェースも持っているという点がNVIDIAやAMDのGPUとは異なる点である。このDIMMインタフェースを使って、384GBという大容量のメインメモリを持たせることができる。
そして、I/Oとしてx16のPCIe 3.0を2リンク分持っているが、Omni Pathを使う場合は、このPCIeはOmni Pathのインタフェースチップとの接続に使われてしまう。まあ、Omni Pathを使う大規模のネットワーク構成の場合は、各ノードに高バンド幅のI/Oを接続することは無いので、残りのx4のPCIe3.0とDMIで賄えるという考え方であると思われる。しかし、チェックポイントを取るためにSSDなどの高速ストレージをつなぐ場合は、どうするのかは気になる点である。
プロセサは2コアのタイルが基本構成要素
プロセサのタイルは、コアと2つのVPUからなるユニットを2個と、それらに共有の1MBのL2キャッシュ、キャッシュコヒーレンシを維持するCHA(Caching/Home Agent)で構成されている。
プロセサコアはAtomのSilvermontコアがベースになっているが、4スレッドのSMT、Out-of-Order実行の強化、RASの改善などHPC向けの多くの改良が追加されている。
KNLには多くの新機軸が採用されているが、その第1は各コアがOSをブートして走らせることができるプロセサとなっているという点である。現状はXeon CPUにXeon Phi、あるいはGPUのようなアクセラレータを付ける構成が使われている。しかし、CPUとアクセラレータがそれぞれ別個のメモリを持つため、その間をPCIe経由でデータの転送を行うことが必要となる。一方、OSを走らせMPI通信などを行うCPUコアとVPUアクセラレータが一体化したKNLの場合は、メモリは1つでありPCIeを使ったデータ転送が不要になるという大きなメリットがある。
また、各コアが2つのVPUを持ち、チップ全体では3TFlopsを超える倍精度浮動小数点演算性能を持っている。VPUは、512bit長のベクタを扱うAVX-512命令のサポートや、飛び飛びのメモリアドレスのデータを扱えるScatter/Gatherエンジンの装備などにより、演算性能を大きく向上させている。
さらに、2Dメッシュのオンチップインタコネクトの採用と、高バンド幅のMCDRAMの採用で、メモリバンド幅も大きく向上させている。
(次回は9月7日に掲載します)