民間企業からの発表も

David Kirk氏の基調講演に続く13の研究発表は、大学や国立研究所の発表が6件で、民間企業の発表が6件、そして企業と大学の連名の発表が1件であった。ただし、企業の発表でも東北大学や東京大学のスピンオフ的な企業で、大学との共同研究的な発表もあり、やはり、GPU利用の研究開発は、まだ、研究機関中心という印象を受けた。

発表内容は、量子化学計算関係が2件、GPUアプリの開発を容易にするフレームワーク関係が2件、有限要素法の解析が3件、流体系の解析が4件、そして、画像理解と金融デリバティブへの適用が各1件という分布である。

それぞれの発表の内容は専門度が高く、筆者も解説できるほどには理解できていないし、このレポートの紙面で説明できるものではないが、かなり色々な計算に関してGPUの計算パワーとメモリバンド幅を上手く利用できないかと考えてトライしている研究者が多く、かなりの成果を挙げているという感じであった。構造メッシュを用いるステンシル計算などでGPUの計算性能が生きることはほぼ自明であるが、汎用CPUでも性能を出すのが難しい疎行列の計算などでもGPUを適用した論文が発表されたのは驚きであった。

もちろん、GPUのデバイスメモリではメモリ量が不足してCPUメモリとの入れ替えが必要になったり、複数GPU間での交換データ量が大きくて性能が出せなかったりするような問題もある。また、シングルスレッド性能を追求する汎用CPUの方が性能が高くGPU向きでない問題もあり、GPUコンピューティング万能ではないが、GPUを上手く使うとチップ単位で言うと汎用CPUに比べて5~10倍程度の性能を実現できる分野がかなり多く存在するという印象であった。

しかし、13件の発表の中で商用レベルのソフトウェアを開発しているのは大学発ベンチャーの2社の発表だけで、GPUを利用する商用CAEという点では、やっと、端緒に付き始めたというところであろう。名古屋大学と共著のクロスアビリティーという企業は分子動力学計算をGPU化し、GaussianやGamessといった業界標準のソフトパッケージに組み込んだ事例を発表したが、Gaussianとのライセンスは、現在交渉中であるという。また、ソフトウェアのライセンス料はCPUコア数やCPUチップ数比例というのが一般的で、ISVとしてはGPUのサポートで性能が上がると、それ相当の性能となるCPUチップ数のライセンス料と同じか、多少安めという程度のライセンス料を戴かないと総売上が減ってしまうという恐れがある。ユーザ側から見るとGPUの利用でハードコストは下がったけれど、CAEのライセンス料の方が支配的なので思ったほどGPU採用のメリットが感じられないということになる恐れもあり、純技術的にGPUを使って性能が出るかとどうかということ以外にも、GPUの採用が性能インパクトがあるだけに、ビジネス的には難しい問題がありそうである。

技術的に面白かったのは、Kirk氏はFermiのキャッシュは効果があるが、プログラマがシェアードメモリ(SMごとのローカルメモリ)を意識して最適化した方が性能が高いと述べていたが、主催者の東工大の青木先生や一部の発表者はシェアードメモリを使わず、1次キャッシュに任せてしまった方が性能が高いというケースを報告していた。また、多くの発表者が、プログラムが明示的に内容をマネージするシェアードメモリを使わないで1次キャッシュに任せてしまうとプログラミングが非常に簡単になり、シェアードメモリを使って最適化した場合と比べても性能的に大きな遜色はなく、Fermiの1次キャッシュの効果は絶大と述べていたことである。

Fermiの1次キャッシュは、マルチコアプロセサとは異なり各SMの1次キャッシュ間のコヒーレンスはサポートしない簡易な実装であり、各SMのシェアードメモリへの出し入れを自動化するという程度の効果しかないが、これだけソフト開発者に評価されるのであれば、タグマッチ回路などの物量をつぎ込む価値がある機能である言える。