NECとNVIDIAは9月2日、共同でGPUのHigh Performance Computing(HPC)分野での活用事例などを紹介する「NEC/NVIDIA GPGPUセミナー」を開催した。両社は、2008年11月にHPC分野におけるGPUコンピューティング・ソリューションの販売提携を行ったことを発表しており、今回のセミナーもこうした共同活動の一環となっている。

NECは、これまでもベクトル型スーパーコンピュータやスカラ型スーパーコンピュータ(スパコン)などを提供してきているが、GPUコンピューティングについては、これら既存スパコンのソリューションの一部として提供するのみならず、それによりアプリケーションがいかに性能向上を果たすのかにも注目しており、コードのチューニングや並列環境での試験を行い、さまざまな分野での適用に向けた挑戦を行っているとしており、ユーザにより使いやすい環境を提供できるような体制作りをパートナーを交えて進めていくとしている。

稼働を開始した理研スパコン「RICC」

理化学研究所・情報基盤センター センター長の姫野龍太郎氏

同セミナーの基調講演には、理化学研究所(理研)・情報基盤センター センター長の姫野龍太郎氏が「3.5世代PCクラスター:GPUスーパーコンピューティング ~大衆製品の専用化と一般化の波~」と題し講演を行った。

姫野氏が語る第3.5世代の定義は、第3世代が1ノードあたり複数CPUで、かつそれがマルチコアになっているものであり、それにアクセラレータとして"汎用加速機"を採用したものとする。これまでもアクセラレータとして特定分野向けに日本のPCクラスタにはGRAPEシリーズなどが搭載されてきた経緯はあるが、「こうした傾向は世界的なもので、『Bell's Law(ベルの法則)』と称される経験則では、10年ごとに新たなコンピュータアーキテクチャの方法が生み出されるとされており、04年以降Embedded/Acceleratedタイプがシェアを伸ばしつつある」(姫野氏)とする。

PCクラスタの歴史(第3世代に汎用的なアクセラレータを搭載することで第3.5世代化される)

アーキテクチャの変遷

2008年のTop500で1位になったRoadrunnerでもOpteronに加え、アクセラレータとしてPowerX Cellが用いられており、その結果、既存のCPUに組み込むタイプに比べて性能向上はもとより2割程度の電力効率の向上を達成している。姫野氏は、「こうした一般的な部品を手軽につけるだけで性能を向上させることができるアクセラレータは魅力的であり、今後、こういった取り組みが普及していくだろう」と予測する。

主なAccelerator/Embedded

理研は、2009年8月より次世代スーパーコンピュータ(RIKEN Integrated Cluster of Clusters:RICC)を稼働させているが、この設置の狙いは「理研の研究者に日本で最良のコンピュータ利用環境を提供すること」(同)であり、そのために、システム・ソフトウェア(ジョブ・スケジューラ)の機能強化による一般利用の範囲で8000並列の大規模並列ジョブ実行を可能にするほか、次々世代スーパーコンピュータのアーキテクチャの候補としてGPGPUアクセラレータを導入、活用することを目的としている。「ただし現行のGPGPUアクセラレータは、現時点で単精度演算はCPUの数倍以上の性能を出すが、倍精度演算になるとピーク性能が一気に落ちる」(同)ため、全ノードには導入せず、一部のノードへの導入にとどまっているとする。

RICCの構成

実際にRICCを用いて、非圧縮流体解析コードの性能評価のためのベンチマーク「姫野ベンチマーク(himenoBMT)」でGPGPUの性能測定を行った結果、Size XLで多目的PCクラスタ(100ノード)の結果と比べ、8ノードから96ノードまでのGPGPUで平均9倍程度の演算結果となった。「himenoBMTは演算インセンティブではないので、このケースはワーストケースになると考えている。普通の演算であれば、もっと性能が出るはずである」(同)とし、コスト性能比で考えた場合は、圧倒的に優位になるはずと、性能面だけでなく、導入コストでもメリットがあることを強調した。

前世代(RSCC)とRICCのhimenoBMT比較

多目的PCクラスタ単体とGPGPUを用いた場合のhimenoBMT比較

ただし、その性能を引き出すためには、高度なプログラムスキルによるチューニングが必要であり、それでは利用者が限られることとなる。そのため、理研は日本IBMと共同で誰でも使えるように初心者向けのビジュアル・プログラミング環境「RIVER(Riken IBM Visual Programming EnviRonment)」を開発しているという。これは、部品ライブラリの中の部品をモジュールとして組み合わせるだけで、目的のプログラミングを実現するというものであり、「これで直接プログラムを書かずにGPUを使ったプログラミングを作ることができるようになる」(同)としており、部品ライブラリを今年度末を目標にフリーウェアとして提供する予定としている。

RIVERの概要