FX100は、SPARC64 XIfxチップを3個と24個のHMCを搭載したCPU Memoryボード、12ノードを収容する水冷のシャーシ、18シャーシを収容するキャビネットという階層で作られている。3CPUチップ搭載のCPU Memoryボードというのは2のべきの数字になれた目には変な値であるが、Tofuインタコネクトは、2×3×2のローカルなa、b、c軸とグローバルのX、Y、Z軸で構成される6次元メッシュトーラスというトポロジであり、ローカル軸で接続される12ノードが構成単位となる。シャーシは、CPU Memoryボードをミッドプレーンの両側から2枚ずつ水平に差し込む構造になっており、3個×4枚で12ノードの構成単位を実現している。
FX10は独自サイズのボードをキャビネットに搭載していたが、FX100では19インチラックに2Uのシャーシを搭載する実装に変更された。また、シャーシ単位では90%水冷で、10%の熱は計算機室の空気に排出されるが、オプションのEXCU(バックドア水冷と考えられる)を使用すれば、100%の熱を水冷で運び出すことができる設計になっている。
OSはLinuxをベースに富士通がスパコン用のチューニングしたものを使っている。チューニングの主要なものは、計算ノードへの割り込みを極力減らし、計算時間のばらつきを抑えることである。
また、ファイルシステムは、Lustreをベースに大規模ファイルシステムを扱えるように富士通が機能強化したFEFS(Fujitsu Exabyte File System)を使用している。この機能拡張はLustreコミュニティにフィードバックされ、将来の標準に取り入れられていくという。
メモリはMicronのHMC(Hybrid Memory Cube)を採用した。HMCは4枚のメモリチップと制御用のロジックチップをTSVで接続した3D積層のメモリで、SPARC64 XIfxプロセサ1個に8個のHMCが接続されている。
HMCのメモリ容量は4GBで、メモリバンド幅はRead、Writeそれぞれ30GB/sである。通常のDIMMは、一時にはReadかWriteの一方しか行えないが、HMCは内部に多数のバンクを持っているので、大部分の場合はコンフリクトは起こらず、ReadとWriteを同時に行うことができる。さらに、CPUとHMCの間は高速で信号伝送を行うので、8個合計では480GB/sというGPUのGDDR5メモリよりも高いバンド幅を実現している。
その結果、Stream Triadベンチマークで320GB/sをマークしており、これはFX10の4.6倍程度にあたる。また、メモリバンド幅が効くHimenoベンチマークでは3倍程度の性能をマークしている。
SPARC64 XIfxチップを3個と24個のHMCを搭載したCPU Memoryボード、12ノードを収容するシャーシ、18シャーシを収容するキャビネットという階層となっている |
OSはLinuxベースで、富士通がスパコン用にチューニングしている。ファイルシステムはLustreベースで、富士通がスパコン用に拡張したFEFS。この拡張はコミュティにフィードバックされる |
Micron製のHMCは4枚のメモリチップとロジックチップを3D積層したメモリで、高いメモリバンド幅を持つ |
メモリバンド幅が効くStreamやHimenoベンチマークではFX10と比較して3~4倍に性能が向上している |
SPARC64 XIfxプロセサは、HPC向けの機能強化であるHPC-ACE機能を拡充したHPC-ACE2を実装している。HPC-ACE2の目玉はSIMD幅の256ビットへの拡張である。これで浮動小数点演算のピーク性能が2倍に向上した。また、従来は、単精度でも倍精度でも演算できる数は同じであったが、HPC-ACE2では、単精度は2倍の演算ができるようになった。単精度でも良い科学技術計算もあり、その場合はピーク演算性能が2倍になることにより、アプリケーションの性能向上が期待できる。
また、SIMDのメモリアクセスに柔軟性を持たせるために、HPC-ACE2では、SIMD要素を一定のメモリアドレスの間隔でアクセスするストライドアクセスと、レジスタに格納したアドレスに従ってアクセスする間接アクセスの機能を追加した。
SIMD幅の拡張と単精度の場合は2倍の演算ができるようになったことで、ブロードキャスト、ベクトルコピー、加算、内積、DAXPYなどの基本的な操作の性能は、FX10と比べて、倍精度では約3倍、単精度では6倍に向上した。
間接アクセスは疎行列や疎ベクトルのアクセスに威力を発揮し、格納形式がCRSの場合はFX10の2.6倍、格納形式がELL形式の場合は3.4倍の性能が得られている。