SC12において、IntelのHigh Performance Computing Platform部門のシニアディレクタのStephen Wheat氏が「On Solution-Oriented HPC」と題して同社のExaScaleへのアプローチについて発表を行った。
残念ながら、このセッションではプロジェクタの設定が悪く、スライドの左端や上端が切れてしまい、図が見難くなってしまったことを、あらかじめお断りしておきたい。
スパコンの能力は1993年には100GFlops程度であったが、2012年現在では20PFlopsになっている。これよりも高い能力を必要とする計算も多く存在するので、計算性能に対するニーズが飽和することはない。そして、10年後には、今日のスパコンの計算能力をハンドヘルドデバイスが持つようになる。
MICアーキテクチャのXeon Phiは今日では高い計算能力を持つHPCシステム用であるが、Intelは、ここで開発したハードウェア、ソフトウェア技術は10年後に携帯デバイスで必要になる技術のベースになるものだと見ている。
高性能化にはGPUが必須と言うのは迷信
そして、ExaScaleに向けたHPCの開発に関して、ムーアの法則はもう終わりという見方は迷信で、22nmプロセスでは同一性能の条件での消費電力を50%以上削減しており、まだまだ、ムーアの法則は健在である。ムーアの法則はすべてのコンピューティングの基礎であると述べた。
迷信その2は、100倍の性能向上のためにはアクセラレータ(GPU)が必須というものである。GCC/C++で単純にコンパイルしたシングルスレッドのプログラムをCPUで実行すると693秒掛った。しかし、これをIntelの並列化ツールであるParallel Studio XEで並列化することにより、実行時間は13.95秒に短縮された。さらに、コード生成のターゲットをMICにして再コンパイルすると、実行時間は6.35秒となった。これは最初の693秒に対して109倍の高速化となっており、100倍の高速化はGPUでなくてもできる。また、マルチコアやマルチスレッド、SSEを使った並列化だけでも693秒の実行時間の98%を削減することができており、GPUが必須というのは迷信である。
迷信その3は、コヒーレントなキャッシュは時代遅れで、オーバヘッドが少なくて済むローカルメモリの方が良いというものである。しかし、L1$キャッシュはメインメモリの15倍のバンド幅を持ち、電力当たりのバンド幅では44倍も効率が良い。また、L2キャッシュは7倍のバンド幅で電力当たりのバンド幅では23倍程度となっており、キャッシュは高性能、高効率の実現手段であり続ける。
迷信その4は、高性能を実現するための努力や時間は問題ではないというものである。しかし、実際はユーザは気にしており、この迷信は正しくない。
迷信その5は、将来に向けて革新的なプログラミングモデルが必須というものである。もちろん、将来に向けて多くのことが変わらなければならないが、現在のコードを再利用する漸進的な方法もあり得る。
ただし、このIntelの主張は、かなり我田引水的で、迷信1については、22nm以降もムーアの法則が続くかどうかについては何も述べていない。迷信2はMICでもGPUと同等の性能向上は可能ということを(ここで例としてとりあげた問題に関しては)示しているが、8コアCPUとMICの性能比は2倍強であることも示しており、MICの必要性については弱い説明である。
迷信3の説明では、キャッシュがメモリバンド幅の向上に大きな効果があることを示しているが、ローカルメモリとの優劣については何も示されていない。迷信4の説明は、いくつかのユーザのコメントを引用しており、これは正しいと思われる。しかし、迷信5の説明は明確な根拠が示されておらず、IntelのいうRealityが正しいかどうかを証明しているとは言い難い。
ということで、IntelはMICの方がGPUより良いと言いたいのであるが、これらのスライドを信じるかどうかは、読者の判断にお任せする。