HPC-ProServer DPrT7500 with
Tesla (TM) C2050 model
GPUによる0.5TFLOPSの倍精度浮動小数点演算性能
3GBの大容量メモリを144GB/sの速度で接続
高性能Xeon (Westmere-EP)搭載ワークステーション採用
CUDA開発環境、Linux環境設定、HPC開発環境構築、ネットワーク設定などを実施
低騒音・高信頼性ワークステーションベースのシステム構築
3年間の当日オンサイト保守を無償実施
HPC計算機 (含スーパーコンピュータ) はこの半世紀の間に多くの製品が開発されました。それらの計算機は、単独で動作するもの、ホスト計算機と接続して使用するもの、並列計算するもの、ベクトル計算するもの、特定の計算に特化したもの、開放的なアーキテクチャのものなど、極めてバラエティーに富んでいます。この文章ではHPC計算機の流れを整理し見通しを得るためこれらの計算機を便宜的に3世代の計算機に分けました。
「第1世代のHPC計算機」と「第2世代のHPC計算機」の違いは、UNUX (Linux) OSを搭載したオープン系のシステムか否かです。「第1世代のHPC計算機」は独自開発したハードウェア、OS、開発環境を搭載した独自技術指向が強い製品です。これに対して「第2世代のHPC計算機」は汎用プロセッサを搭載した計算機、UNIX (Linux) などの業界標準OS、オープン系の開発環境を搭載した共有技術指向が強い製品です。両者は技術に対するスタンスの違いが閉鎖的かあるいは開放的かと正反対です。それが各世代の計算機の発展を決定しました。閉鎖的な技術開発環境は衰退し、開放的な技術開発環境が発達しました。
「第2世代のHPC計算機」と「第3世代のHPC計算機」の違いは、第3世代のHPC計算機はHPC専用のハードウェアを採用したことです。優れたオープン系のハードウェアとソフトウェアの協調関係を活かしたうえで、それを一桁以上高速化するためにHPC専用ハードウェアを開発して超並列計算機を実現しようとしていることです。この試みの成否はまだ明らかになってはいません。しかし汎用プロセッサの超並列化は必然でもあります。すなわちプロセッサの並列度を向上させてゆくと、演算装置のヘテロジニアス化は避けられないことであり、そのなかの応用技術として超並列化が登場ます。
第1世代のHPC計算機の特徴はハードウェア指向が強いことです。その時代の最先端のハードウェア技術を採用し最速の計算機を実現しようとする強い開発思想がありました。しかし他方で、この特徴が計算機の "ガラパゴス化" を招き衰退の原因にもなりました。
第1世代の計算機は華々しく登場したにもかかわらず、その殆どがいつのまにか姿を消しました。その理由は次のようなものでした。
・ ハードウェアの性能向上を主眼に開発
・ 限られた分野のアプリケーションしか高速化できなかった
・ 特殊なアーキテクチャのためソフトウェアの移植が難しかった
・ 多品種化により市場を細分化し低価格化できなかった
・ 販売が低迷し、新たな開発が困難となり、陳腐が進んだい
・ 汎用計算機 (RISC、x86) に価格、性能、機能の面で追い越された
これらの問題の背後を探ると、そこからハードウェア開発者とソフトウェア開発者との間での、HPC計算機に対する考え方の違いが浮かび上がりました。
ハードウェア開発者はハードウェアの性能の高さが重要だと考えていました。そのため革新的な技術を盛り込んだ製品を次々と開発しました。しかし製品の多品種化は、ソフトウェアの開発基盤を分断するという諸刃の剣でした。開発環境の分断はソフトウェアを孤立され利用者に大きな負担をかけました。
これに対してソフトウェア開発者の考え方は全く異なりました。ソフトウェア開発者は優れたソフトウェア開発環境が長期間にわたって安定供給されることが大切だと考えていました。ソフトウェア開発環境が安定して供給されると、ソフトウェア開発者は課題に没頭でき、優れたソフトウェアが開発されました。
多くのソフトウェア開発者は、ハードウェアを偏重した第1世代のHPC計算機に見切りをつけ、それに代わって、優れたソフトウェア開発環境を持つUNIX (Linux) 環境を搭載した汎用計算機を利用することに新たな可能性を見出そうとしました。これが第2世代のHPC計算機の出発点です。
UNIX (Linux) OSの最大の特徴は、複数のアーキテクチャの間でのソフトウェアの移植性が極めて高いことです。UNIX (Linux) を搭載したアーキテクチャ同士なら、あるアーキテクチャ上で開発したソースコードを他のアーキテクチャ上の環境で再コンパイルするだけで簡単に移植できます。このソフトウェアの移植性の高さが第2世代のHPC計算機を大きく発展させました。
このUNIX (Linux) によるソフトウェアの移植性の高さが計算機の進化を強烈に前進させました。フトウェアの移植性が高いと、ソフトウェアはより高速な新しいアーキテクチャ上に次々と移植されます。するとそれを追って利用者もアーキテクチャを移動します。その結果、高速なアーキテクチャは多くの利用者を集め、それが資金を集め、製品の開発速度を速めます。計算機はますます高速化します。
この淘汰の力は強烈でした。沢山あった計算機アーキテクチャは瞬く間に淘汰され、生き残った計算機は激しい競争にさらされ、さらに高速化・大容量化・低価格化しました。
では計算機はどこまで進化し性能が向上するのでしょうか。一般に計算機の処理能力は2年で2倍に向上すると言われています。事実、過去10年間で単体計算機の処理能力は約32倍に向上しました。この傾向が今後も持続すると仮定すると、前後20年間を通しての処理能力の向上は約1000倍に達します。しかもこれはネットワーク並列の効果を考えていない場合です。
ここにネットワーク並列の効果を加えると、8並列なら10年間で約256倍、20年間では約8000倍に向上します。16並列なら10年間で約512倍、20年間では約16000倍に向上すると予想されます。汎用計算機の性能向上は牛歩のように見えます。しかし、並列処理の効果を加えると強烈な向上を遂げていることがわかります。
上記の性能向上は処理能力 (スループット) を示したものです。HPC計算で大切な処理速度 (スピード) を得るためにはソフトウェアを並列化する必要があります。この並列化に関してもUNIX (Linux) は決定的な役割を果たしています。
UNIX (Linux) 環境では、ソフトウェアを公開し相互利用するオープソース文化が定着しています。このオープソース文化がソフトウェアの並列化の促進に大きな役割を果たしました。並列計算のアイディアは古くからありました。しかし従来は計算機環境が閉鎖的だったため広く普及しませんでした。ところがUNIX (Linux) が普及しオープンソース文化が浸透すると、ソフトウェアの並列化が進み、それが刺激となり付き次とソフトウェアの並列化されました。オープンソース文化の中では開発が連鎖反応的に進むことが多く、洗練された並列化ソフトウェアが瞬く間に普及しました。
ソフトウェアの並列化に成功した分野は、流体計算、構造計算、電磁界計算、分子軌道計算、量子科学計算、天体軌道計算、遺伝子解析、気象解析、資源探査、金融工学など、広い範囲に及びました。さらに、システムの導入コストが低下したため多くの範囲で利用されるようになりました。
HPCの技術開発がハードウェア中心の世代からソフトウェア中心の世代に移り変わったことで、HPCは急速な発展を遂げました。本来であればこの文章はここで終わりになる筈です。ところがHPC計算機に新たな課題が現れました。それは電源容量の問題と、並列通信ボトルネックの問題です。
電源容量の問題とは、ユーザ・サイトの電源容量が限界に達し、新たな計算機を設置できないという問題です。この問題を解決するためには「電力性能比」の高い計算機が必要です。
並列通信ボトルネックの問題とは、並列性能を向上させるため演算ノードの数を増やすと、ある台数数をピークとして、それ以降は台数を増やすと並列性能が低下する問題です。これは並列処理のオーバーヘッドが並列性能の伸びよりも大きいからです。この問題を解決するためには、ネットワーク性能を向上させるか、あるいは計算ノードの性能を向上させる必要があります。
幸いにも、この問題を解決できる可能性を秘めた技術が開発されました。それがGPGPU (General Purpose Computation on Graphics Processing Units) です。GPGPUは市販のグラフィックスカードをHPC計算用に転用し浮動小数点演算の高速化を実現する技術です。
GPGPUが製品化された当初は、この技術を実際の計算に応用することは困難だとの見方がありました。しかしその後、多くの調査・研究によって、HPC計算でも有効な分野があることがわかり、少しづつ注目を集めるようになりました。
GPGPUが目指すHPCの本質は汎用プロセッサの演算器をヘテロジニアス構成にすることで、超並列プロセッサを実現することです。まだこの試みが成功するかしないかは明らかではありません。しかしその可能性が高まっていることは確かです。
第3世代初期 (GPGPU黎明期) のGPGPUは、市販のグラフィックスカードをそのままHPC計算用の浮動小数点演算アクセラレータに転用したものです。HPC計算に利用するためのソフトウェア環境はグラフィックスカードの開発元が提供しました。
第3世代初期 (GPGPU黎明期) のGPGPUの1番目の特徴は、汎用計算機と比べて理論演算性能が何倍も高いことです。グラフィックスカードは単純な構造の演算器を多数搭載していてこれを並列動作させることで高い演算性能を実現します。このアーキテクチャを効率良く使うことで高い性能を実現できます。しかしそのためにはソフトウェアを最適化する作業が必要です。
第3世代初期 (GPGPU黎明期) のGPGPUの2番目の特徴は、GPGPUを搭載したHPC計算機を驚くほど低価格で構築できることです。この世代のGPGPUは市販のグラフィックスカードを転用しているためハードウェアの価格が安く、HPC計算用に利用できるようにするためのソフトウェア環境も無償で提供されています。そのためGPGPUを搭載したHPC計算機を非常に低価格で導入することができます。
第3世代初期 (GPGPU黎明期) のGPGPUの3番目の特徴は、電力性能比の高さです。GPGPUは現在のプロセッサよりも一桁上の電力性能比を持っています。多くの研究室が使用できる電力容量は限界に近づいています。その限られた電力容量によってより多くの計算を処理するためにはGPGPUのような桁違いに高速な計算機が必要です。
第3世代初期 (GPGPU黎明期) のGPGPUの4番目の特徴は、計算密度の高さです。ネットワーク並列計算機は、計算ノードの数を増やすと並列計算オーバーヘッドが大きくなり、ある台数以降は計算速度が低下します。この問題を解決するためには計算ノードの性能を高くする必要があります。GPGPUは浮動小数点演算性能が高いため計算ノードの性能を桁違いに高速化できる可能性があります。
しかし、第3世代初期 (GPGPU黎明期) のGPGPUはHPC計算を実行するために設計されたハードウェアではありません。あくまでもグラフィックス処理を高速に実行するためのものです。そのため、GPGPをHPC計算で利用するためにはソフトウェアを最適化する必要があります。その最適化では次のような課題があります。
・ GPGPUに搭載されている多数の演算器を効率良く利用すること
・ GPGPUに搭載している小さなサイズのメモリを効率良く使うこと
・ ホスト計算機とGPGPUが通信に使うPCIバスのボトルネックを回避すること
・ 階層的な並列処理に対応できるようにアルゴリズムを工夫すること
この移植作業は簡単ではありません。しかしこの挑戦には大きな価値があります。それは既存のHPCクラスタでは到底達成できない水準の電力性能比と計算密度を達成できる可能性を低いコストで気軽に調査することができるからです。
第3世代初期 (GPGPU黎明期) のGPGPUの意味は、ソフトウェアをGPGPUに最適化する作業の目途を付けるような調査やプロトタイピングを行うための開発プラットホームを誰にでも手の届く価格で実現したことです。
第3世代初期 (GPGPU黎明期) のGPGPUを利用したプロトタイプ機を利用した調査から次のことが明らかになりました。
・ 市販のグラフィックスカードは科学技術計算用に転用できる
・ 現実的な科学技術計算用実計算を行うためにはさらに次のような改良が必要・ 浮動小数点演算性能の向上
・ 倍精度浮動小数点演算への対応
・ メモリ容量の拡大
・ ECCメモリへの対応
・ PCI Express 2.0 x16への対応
・ 専用の開発環境の整備
・ Fortranコンパイラとの連携
このような課題を解決したHPC計算専用の製品が第3世代中期 (GPGPU実用期) のGPGPUです。
第3世代中期 (GPGPU実用期) のGPGPUは上記の課題を改善したことで、アプリケーション開発者からも期待を寄せられ、多くのアプリケーションが移植され始めました。移植が完了したアプリケーションからは次々とテストレポートが公表されました。
それらのテストレポートを見ると、第3世代中期 (GPGPU実用期) のGPGPUの特徴は、計算の種類によっては既存のHPCクラスタの性能を大幅に超える場合があります。しかし反対に同じアプリケーションであってもプログラムによっては性能が得られないケースもありました。第3世代・後期のGPGPUは最適化のスイートスポットが狭いようです。
性能が安定して出ているアプリケーションとしては気象予測プログラムや画像処理プログラムなどがあるようです。これらは実用期に達しており十分に役立っているようです。
では実用期と試験期の境界線上にいるアプリケーションはどのような状態なのでしょうか。例えば公開されている「AMBER11 NVIDIA GPU ACCELERATION SUPPORT」というタイトルのレポートでは、Inplicit Solvent GB Benchmarksというソルバーを用いて、Tesla C 2050 1枚とXeon X5670 2.93GHz 2CPU 12coreとを比較して、2000原子から20000原子の計算に於いて、GPGPUはXeon 12coreより約8倍も高速でした。
ところが他方で、Explicit Solvent PME Benchmarksというソルバーを用いた比較では、20000原子から90000原子の計算に於いて、GPGPUはXeon 12coreの1.3倍ほどしか高速ではありませんでした。
このように同じアプリケーションでもアルゴリズムの違いによって性能に大きな違いがありました。最適化できたものは期待した性能が出た一方で、最適化できないものは全く性能が出ませんでした。さらにAMBER11の移植作業では単精度計算と倍精度計算を混在させるという方法が使われ結果の確認が必要な様子でした。
この移植作業にはNVIDIAの技術者が参加し最高レベルの最適化技術を投入したようです。それでも期待した性能を発揮させることができないプログラムがあるということは、GPGPUへの移植と最適化の難しさを物語っています。
さらに他の例を見てもアプリケーションによって性能のバラつきが大きく、第3世代中期 (GPGPU実用期) のGPGPUには課題が残されていることが読み取れました。GPGPUを搭載したHPC計算機を本格的に利用するためには次のような課題を解決する必要があります。
・ 倍精度浮動小数点演算性能の向上
(動作クロック周波数の向上)
(並列度の向上)
・ PCIバス・ボトルネックの改善
(高速な接続デバイスの使用)
・ メモリ帯域幅のボトルネックの改善
(高速な接続デバイスの使用)
・ メモリサイズの大容量化
(主メモリとの高速接続)
・ 他多数
開発環境についても改善が求められます。大規模なアプリケーションを移植し継続的にメンテナンスするためには、優れた開発環境の整備が必須です。できれば既存のコンパイラ上でGPGPUに対する自動最適化が実行でき、理論性能に近い性能が得られることが理想です。使いやすいデバッグツールも必要です。
現在のようにNVIDIAから技術者が派遣され、手作業でコーディングしているようでは、幅広いユーザにGPGPUを使ってもらうことはできません。
・ 使いやすい開発環境の搭載
・ 標準的な数値演算ライブラリの充実
・ 信頼性の高いシステムの実現
以上のようなGPGPUのハードウェアの開発と開発環境の整備を同時に行うことは大変な仕事です。ハードとソフトの両面で多くの人材と高度な技術と莫大な開発費が必要です。
この難問に対してNVIDIA社だけで立ち向かうことは困難です。しかし幸いにも、Intel社やAMD社などもGPGPUの製品化に向けて開発を進めているようです。3社が競争することで開発が促進されることが期待されます。
そもそもHPC分野はIntel社とAMD社が活躍している分野です。両社がその市場を易々と明け渡すとも思えません。また両社は汎用プロセッサやグラフィクス・プロセッサを開発している実績があるだけでなく、開発環境や数値演算ライブラリなども自社開発しています。特にIntel社は開発環境の業界標準となっているIntel Compulerや数値演算ライブリ、デバッグツールなどを製品化し、それらを開発できる豊富な人材や情報も揃っています。この両社がGPGPUの製品化を目指しているのですから完成度の高い製品が満を持して投入されることを期待できます。もちろんNVIDIA社も先行している経験を活かし両社を迎え撃つことになります。
ところで、新聞記事によると2011年の春にIntel社はNVIDIA社に対して約1230億円の対価を支払い、幅広い技術についてのクロスライセンス契約を結んだ模様です。このなかにはNVIDIA社が持つGPGPU関連の技術も含まれているようです。Intel社はこの契約でNVIDIA社から得られたノウハウを利用し完成度の高いGPGPU製品パッケージを開発し、一挙に市場を獲得しようとする可能性が濃厚です。Intel社の今後の動きには注目です。
第3世代のGPGPUが難しい課題に直面している一方で、汎用プロセッサの性能は着実に向上しています。下の表はGPGPUの性能と汎用プロセッサの性能を簡単に比較したものです。
現在のGPGPUの理論性能は448GFLOPSです。これに対して汎用プロセッサの理論性能は、Core i7が42GFLOPS、Xeon 2CPU 6coreが158GFLOPS、最新のNew Core i7 1CPU 4coreが109GFLOPSに達しています。GPGPUの性能に迫る勢いです。
さらに近い将来製品化されるNewX 2CPU 8core機の理論性能は422GFLOPS、その次のNewX 4CPU 8coreの理論性能は717GFLOPS、さらにその次の22nmプロセス世代の2CPU機の理論性能は600GFLOPS、4CPU機の理論性能は1TFLOPSに達すると予想されます。汎用プロセッサは着実に性能を伸ばしGPGPUを追い越す勢いです。
GPGPUに期待される性能は、汎用計算機よりも1桁以上高い性能です。もし近い将来のXeon 2CPUの理論性能が400GFLOPSに達するなら、次世代のGPGPUに求められる理論性能は4TFLOPS以上でなければならず、10TFLOPS以上へのロードマップも示されていなければなりません。
さらにシステムとの接続バスの帯域幅、キャッシュメモリの速度、主メモリの速度も一桁上の性能が必要です。もちろん優れた開発環境や高速な数値演算ライブラリの整備も必要です。
| おおまかな推定性能の比較表 | |||
| 製品 | CPU動作周波数 (GHz) |
同時処理 命令数 |
理論演算性能 (GFLOPS) |
| GPGPU | 1 | 448 | 448 |
| Core i7 1P 4core | 2.6 | 16 | 42 |
| New Core i7 1P 4core (推定値) |
3.4 | 32 | 109 |
| Xeon 2P 4core | 3.3 | 32 | 106 |
| Xeon 2P 6core | 3.3 | 48 | 158 |
| Xeon 4P 8core | 2.3 | 128 | 295 |
| NewX 2P 8core (推定値) |
3.3 | 128 | 422 |
| NewX 4P 8core (推定値) |
2.8 | 256 | 717 |
| Next CPU-GPU 1P many-core (推定値) |
2.0 | 2000 | 4000 |
第3世代のGPGPU計算機に突きつけられた課題をクリアし、次世代のGPGPUを実現するためにはGPGPUアーキテクチャの根本的な刷新が必要です。
ここで興味深いことに、Intel社とAMD社は汎用プロセッサと同じ半導体の上にグラフィクスエンジンを搭載した製品を開発しています。さらにこのグラフィクスエンジンの機能を拡張しGPGPUとして利用できるような仕組みも開発しているようです。当然NVIDAI社も同様のアプローチを考えていることだと思います。もしGPGPUと汎用プロセッサが融合した新しいアーキテクチャが開発されるのならGPGPUの将来にも光明が射します。
現在の汎用プロセッサは32nmプロセスで製造されています。そして次世代の製品は22nmプロセスで製造されると言われています。製造プロセスが32nmから22nmになると同じ面積に2倍のトランジスタを実装できます。そこで、22nmプロセスを採用し、かつコア数を減らすと、半導体基盤の上には膨大な数のトランジスタを余らせることができます。このトランジスタを利用することで多くのGPGPUをCPUと同じ半導体の上に実装できます。もし2000個の演算器を実装でき、かつクロック周波数を2GHzで駆動させることができれば4TFLOPSのGPGPUを搭載した汎用プロセッサを実現することが可能です。
汎用プロセッサとGPGPUを同じ半導体の上に実装できると、GPGPUとプロセッサや周辺デバスとの接続にQPIなどの高速なシステムインターコネクトが利用できます。この接続によってハードウェア的な多くのボトルネックを解決できる目途が立ちます。
GPGPUと汎用プロセッサを一体化すると、これまで汎用プロセッサで利用されてきたコンパイラや数値演算ライブラリなどの開発環境をそのままGPGPUに対応させることができますアプリケーションの移植が簡単になります。GPGPUと汎用プロセッサが融合することで、先に挙げた全ての課題をクリアすることができそうです。
GPGPUとCPUを融合する流れには大きな壁があります。それは半導体製造プロセスを微細化することによるコスト上昇の壁です。プロセスが微細化すると製造コストが高騰します。このコストを吸収するためにはプロセッサに多くの機能を集約し高付加価値化することと、大量生産によるコストダウンを同時実現する必要があります。これを達成することは極めて困難です。最先端を走る巨大メーカーにしか実現できない領域です。後を追うメーカー各社は得意分野に狙いを絞らなければ生き残ることは困難です。それがHPC分野なのか、あるいはIT分野なのか、モバイル分野なのかということです。
汎用プロセッサの消費電力は約100W前後で推移しています。この消費電力でどれだけの演算性能を実現できるかが新たな課題です。次の表は汎用プロセッサと同じ半導体上にGPGPUを搭載できたと仮定した場合の第3次世代後期 (CPU-GPU実用期)計算機の電力性能比を予想したものです。
現在のGPGPU機の電力性能比は747MFLOPS/W、Xeon 2CPU機の電力性能比は265MFLOPS/Wです。さらに次世代のNewX 2CPU機の電力性能比は1055MFLOPS/Wにまで改善されると推定できます。
これに対して第3次世代後期 (CPU-GPU実用期)機の電力性能比は20000MFLOPS/Wにまで改善することが期待されます。第3次世代後期 (CPU-GPU実用期)計算機はまだ机上のプロセッサですが、もしこのような製品が開発されれば、研究室で利用できる計算リソースが急増し、科学技術計算の大きな進歩が期待できます。
| おおまかな推定性能の比較表 | |||||
| 製品 | CPU動作周波数 (GHz) |
同時処理 命令数 |
理論演算性能 (GFLOPS) |
推定消費電力 (W) |
電力性能比 MFLOPS/W |
| GPGPU | 1 | 448 | 448 | 600 | 747 |
| Core i7 1P 4core | 2.6 | 16 | 42 | 200 | 210 |
| New Core i7 1P 4core (推定値) |
3.4 | 32 | 109 | 200 | 545 |
| Xeon 2P 4core | 3.3 | 32 | 106 | 400 | 265 |
| Xeon 2P 6core | 3.3 | 48 | 158 | 400 | 395 |
| Xeon 4P 8core | 2.3 | 128 | 295 | 700 | 421 |
| NewX 2P 8core (推定値) |
3.3 | 128 | 422 | 400 | 1055 |
| NewX 4P 8core (推定値) |
2.8 | 256 | 717 | 700 | 1024 |
| Next CPU-GPU (1CPU-GPU) (推定値) |
2.0 | 2000 | 4000 | 200 | 20000 |
次の表は、第3次世代後期 (CPU-GPU実用期)計算機による並列計算機の想像上のスペックのメモです。この計算機が実現すると、現在の大型のクラスタ計算機でも不可能な計算を研究室のクラスタ機で実現できるようになります。
各計算機のノード内並列性能が向上することで、ネットワークの並列数が低くなり、ネットワーク通信オーバーヘッドの影響を受けにくくなり、超高速大規模並列計算が実現されます。
このような計算機が実現すると、研究室に設置できる4ノードから8ノード級のHPCクラスタの理論演算性能が32テラフロップスから64テラフロップスに達し計算可能領域が大きく広がると期待されます。
| 第3世代後期のHPC計算機を用いた 次世代並列計算機を想像 |
||||
| 製品 | CPU動作周波数 (GHz) |
プロセッサ数 | 同時処理 命令数 |
理論演算性能 (TFLOPS) |
| Next GPGPU (est) (2CPU-GPU) (8node Cluster) (est) |
2 | 16 | 32000 | 64 |
汎用プロセッサの性能向上は日進月歩です。汎用プロセッサとCPU-GPUとの性能差が1桁程度なら、汎用プロセッサはCPU-GPUの性能に4〜5年で追いつきます。またもしCPU-GPUの開発環境の完成度が低い、あるいはソフトウェアの移植で問題が発生し、期待した性能が得られないと、1桁程度のアドバンテージは一瞬にして吹っ飛びます。
CPU-GPUがHPC分野で成功するためには、優れた開発環境を提供することが不可欠です。もしそれが不可能だとすると第1世代と第2世代のHPC計算機の間で起こったような現象がここでも起きる可能性があります。
CPU-GPUが提供する開発環境に求められる機能は、GPGPUとCPUとの差異を隠蔽しハードウェアの違いを意識することなく開発作業ができるようにすること、共通のソースコードを使用できるようにする、計算の精度が保障され検証作業が不要なこと、標準的な数値演算ライブラリが整備されていること、使いやすいチューニングツールが提供されていることなどです。汎用プロセッサが提供している開発環境と同等の環境が求められます。
これまでのHPC計算機の変遷から明らかになったことは、使いやすいソフトウェア開発環境の充実が大切ということです。その条件を満たした上で、高性能のハードウェアが提供されることが大切です。
第3世代の初期と中期のGPGPUはGPGPUが持つ大きな可能性を示しました。一部のアプリケーションに限られるとはいえ、最新のマルチコア機よりも数倍も高速な性能を示したこと、さらに並列計算についても最新のPCクラスタの数倍も上の性能を実現したことは画期的です。
第3世代の初期と中期のGPGPUに残された課題を解決し、一桁上の性能を目指す第3世代後期のCPU-GPUを搭載した第3世代後期化のCPU-GPUの登場にはまだ時間が掛かります。それが登場するまで第3世代の第3世代の初期と中期のGPGPUにはGPGPUの実用化に向けての事前調査の役割があります。(もちろん、既に性能が出ている領域の計算については第3世代のGPGPUは十分に実用的です。)
GPGPUは新しいアーキテクチャです。GPGPUの実用化はまだ緒に就いたばかりです。GPGPUの応用範囲を探るための調査はこれからが本番です。これまで計算時間が長くかかり計算は不可能だと思われていた領域などでも、超高速なGPGPUを用いることによって計算を実用化できる分野が現れる筈です。第3世代のGPGPUは、このような調査を行い実際にプロトタイピングするために導入しやすい環境です。
第3世代後期のCPU-GPU環境はまだ開発中のため詳細は不明です。しかし、開発が続いていることは確かです。近い将来、実用に耐える製品の目途がつけば必ずリリースされます。それに備えて、第3世代の初期と中期のGPGPUによる次世代スーパーコンピューティングのプロトダンピングを行うことは大切です。
弊社では第3世代の初期と中期のGPGPを用いた実用計算や、次世代のGPGPUに応用分野を事前調査するたに使用できる信頼性の高いGPGPU計算機をお届けしています。