中華街にほど近い横浜情報文化センターで開催されたCool Chips 16において、NECの百瀬氏が同社の次世代ベクトルスーパーコンピュータ(スパコン)について講演を行った。NECは2012年11月のSC 2013の展示で、次世代スパコンの登場まで残り365日という大きなサインを掲げており、2013年の11月までに出てくることは公表されていたが、それがどのようなマシンになるかについてはこれまでに発表がなく、Cool Chipsでの発表が初めての学会発表である。

2012年11月のSCでのNECの展示ブース。次世代ベクトル機の登場まで365日と書かれた大きなサインが掲げられていた

Cool Chips 16で次世代ベクトル機について講演するNECの百瀬氏

NECの次世代ベクトルスパコンの設計思想

科学技術計算といっても色々なタイプの計算があり、演算あたりのメモリのアクセス量を縦軸にとり、必要なメモリ量を横軸にとると次の図のように大きくバラついている。

科学技術計算に必要なメモリバンド幅とメモリ量(出典:Cool Chips 16における百瀬氏の発表スライド。この図の各点のデータは文科省の「今後のHPC技術開発に関する報告書」のもの)

CPUの演算性能の向上に比べてメモリのバンド幅の向上は緩やかで、メモリバンド幅をピーク演算性能で割ったByte/Flopは低下する傾向にあり、汎用CPUでは0.1~0.3程度の値となってきている。

しかし、この図に見られるように、メモリアクセスが1Byte/Flopを超える計算が多くあり、このような計算は、汎用CPUではメモリバンド幅が制約となって演算性能をフルに発揮できないことになる。このような状況にあって、NECは高いByte/Flopを必要とする領域でも高いピーク性能比率を発揮できるスパコンの提供をミッションとしているという。

科学技術計算では並列に計算できる部分が多いが、それでも1つのノードだけでしか実行できない部分がある程度の比率で存在する。アムダールの法則で知られるように、並列に計算できる部分は計算ノードを増やせば実行時間を短縮できるが、1つのノードでしか実行できない部分の時間は短縮できず、ノード数の増加に対して性能の向上は飽和する。

並列化が可能な部分の比率が99%の計算がある場合、これを100GFlopsの計算ノードを使ったシステムと、10GFlops計算ノードを10倍の台数使ったシステムで計算する場合の実行性能(理論値)をプロットしたのが次の図である。

100GFlopsの計算ノードと10GFlopsの計算ノードを使って並列化したシステムで並列化比率99%の計算を行う場合の実行性能を計算したグラフ(出典:Cool Chips 16におけるNECの百瀬氏の発表スライド)

100GFlopsのビッグコアを使った場合は20PFlops程度の規模まで性能がリニアに向上しているが、10GFlopsノードを使うシステムでは500GFlops程度で既に飽和が始まっている。つまり、高いスケーラビリティを実現するためには単一計算ノードの性能が高いシステムとすることが重要であるという。

ということで、NECの次世代ベクトルスパコン(Next Generation Vector:NGV)は高メモリバンド幅で、単一ノードの計算性能が高いというターゲットとなっている。

NECの次世代ベクトルスパコン(NGV)は高メモリバンド幅で高いByte/Flopをカバーし、並列化比率が低い計算でも高い実効性能を実現できるビッグノードがターゲット(出典:Cool Chips 16におけるNECの百瀬氏の発表スライド)

なお、単一ノードの性能が高い方が良いという主張は正しいのであるが、単一ノードでしか実行できない部分の処理がベクトル計算ノードで高い性能が出せるとは限らず、筆者としては多少、引っかかる説明である。

(中編に続く)