2013年6月に発表された第41回TOP500で、中国の天河2号がLINPACKで33.86PFlopsをたたき出して1位になったことは一般紙でも報じられている。しかし、今回、TOP500の主催者の1人であるテネシー大のJack Dongarra教授から、LINPACKに変わるベンチマークの提案が行われ、将来、ランキング方法が変わる可能性が出てきた。

LINPACKは連立1次方程式を解くという計算で、TOP500の初期には100元とか1000元の連立方程式を解いていたが、スパコンの性能向上に伴い、現在では、元数は自由に選んでよいことになっている。

大きな元数を選んだ方が高い性能を出し易いので、京コンピュータでは1187万208元、天河2号では996万元の連立方程式を解いている。そして、京コンピュータの場合は、この計算に約23時間を要しており、天河2号の場合は5~6時間と思われる。しかし、プログラムのチューニングを行い、何回も走行を行って、良いスコアを登録するためには、この何倍、あるいは何十倍もの時間スパコンを使う必要がある。京コンピュータの場合、電気代だけでも1日300万円程度かかり、LINPACKの測定はかなり高くつく。

有限要素法で建物の耐震性などを評価するときには、連立1次方程式を解くことが必要となる。車の衝突時の変形を詳細に解析するには1000万元必要とか、さらに、大きい元数が必要という問題もどんどん出てきており、京スパコンや天河2号のLINPACK計算での元数は特に大きいとは言えない。

しかし、有限要素法の場合、力を及ぼすのは隣接する節点の間だけであり、連立方程式の係数が非ゼロになるのは隣接する節点間に対応する項だけで、大部分の係数はゼロとなっている。このような大部分がゼロの行列を疎行列(スパースマトリクス)という。

一方、LINPACKの場合は、すべての係数がゼロではない密行列の連立1次方程式を解いており、必ずしも現実の問題で出てくるパターンと一致していない。このため、LINPACKで高い性能を出すように設計したマシンは、現実の科学技術計算のニーズと必ずしも一致していないという問題が出てきているという。

そこで、 Sandia国立研究所のMichael Heroux氏とDongarra教授は、このような疎行列の巨大連立1次方程式を解く、Conjugate Gradient(共役勾配)法に基づくベンチマークを提案している。共役勾配法では、係数行列と解の初期値のベクトルの積と誤差を計算し、誤差が小さくなるように解を初期値から変更していく反復法で解を求める。

疎行列であるので、各行の中で非ゼロの係数だけを、その列位置と値だけを記憶するSparse Rowという形式で格納し、スパコンで分散処理を行う場合は、各計算ノードは係数行列の一部の行を分担する。

LINPACKでは主要な計算は、密行列同士の積の計算となるが、共役勾配法での主要な計算は疎行列と密ベクトルの積となり、計算の比重が下がりメモリアクセスの比重が多くなる。また、密行列の場合は連続、あるいは一定のストライドでメモリを読んできて対応する要素を掛ければよいが、疎行列の場合は飛び飛びの位置の要素が格納されているので、対応する要素を掛けるためのメモリアクセスが複雑になる。

そして、非ゼロの係数の位置によっては自分のノードの分担範囲外の解の値が必要になるので、その解の値を分担している計算ノードにMPI通信でデータを要求する必要がでる。また、次の解の補正値を計算するには、反復ごとに全てのノードの計算結果を集める必要があり、MPI通信のAll-Reduce(全ノード間の通信)が必要となる。

このような処理パターンは、有限要素法などの現実の変微分方程式の解法と近く、現在使用されているLINPACKよりも現実の科学技術計算の性能評価に適しているという。

どの程度、非ゼロの要素があるか、非ゼロの要素がどのように分布しているかによって計算量や通信パターンが変わってくるが、今回の提案では、具体的にどのような疎行列とするかには触れられておらず、実際にTOP500での採用には、まだ、議論が必要という印象である。しかし、LINPACKが現実の問題の特性からずれてきており、その役目を終えつつあることは広く認識されているので、この提案が検討されることは間違いないと思われる。

共役勾配法のベンチマークは、LINPACKと比べるとメモリアクセスやノード間通信の比重が増え、メモリアクセスも複雑になるなど、GPUにとってはやや不得手な処理が増えることになると思われ、このベンチマークが採用されると、TOP500のランキングにある程度影響が出てくると思われる。

2013年6月のTOP500で1位を獲得した中国National University of Defense Technologyの「Tianhe-2(Milky Way-2/天河2号)」の外観