GPUが開くHPCの新たな世界

「GPGPUを身近にしたTeslaは8086登場に匹敵する革命」、NVIDIA

2008/07/23

nv01.jpg 米NVIDIA シニア・プロダクト・マネージャー Tesla GPU Compute担当のスミット・グプタ氏

 「単に速くなるだけではない。重要なのは、これまで不可能だったことが可能になるということだ」。グラフィック処理向けに設計されたGPUを汎用のHPC向け計算処理ハードウェアとして利用する「GPGPU」(General Purpose GPU)の効用について、こう説明するのは米NVIDIAでシニア・プロダクト・マネージャーを務めるスミット・グプタ(Sumit Gupta)氏だ。2008年7月23日に都内で開いたメディア向け説明会の場で同氏は、6月17日に発表されたばかりの同社のGPGPU製品「Tesla」シリーズの第2世代製品「Tesla 10」(T10)と、徐々に採用が進むGPUを利用したHPCの事例について説明した。

 リアルタイムにユーザーからの入力を受け付けるなど、予測不可能な事態にうまく対処できるシリアル処理を基本とするのがCPU。これに対し、GPUは与えられたデータを大量に並列化して演算することに特化する形で進化してきた。グプタ氏によれば、これはCray-1に始まる並列処理を得意とするスーパーコンピュータの系譜に連なるもので、IBMのSystem 360に始まるメインフレーム、Unixサーバ、PCといったデータベース、OSの実行に適したCPUとはアーキテクチャ上の双璧をなすものだという。GPUはゲーム市場を背景に、PC向けCPU同様の量産効果による低価格化と研究開発の進展を見た。

 GPGPUはHPC利用者の間で2002年ごろから話題となっていたが、その利用は容易ではなかった。NVIDIAでは2004年ごろから並列処理の専門家を雇い入れ、GPUアーキテクチャをHPCに適したものへと「再定義してきた」(グプタ氏)。いちばん大きなアーキテクチャ上の変更は、各計算処理ユニットが共通してアクセスできる共有メモリを搭載したことで、これにより計算処理ユニットは必ず1サイクルでメモリアクセスが可能となった。これはCに親しんだプログラマには分かりやすいモデルで、Teslaシリーズに合わせてリリースした開発環境の「CUDA」(Compute Unified Devices Architecture)と合わせて多くのHPC利用者に受け入れられるに至っている。

 GPUコンピューティングはコストパフォーマンスの高さから、HPCを必要とする多くの業界・研究分野で採用例が増えている。こうした例の中でも特に注目すべきは人命に関わる利用例だ。

心臓を止めずに見ながら手術

 東京大学で先端治療福祉工学を専攻する大学院生、ヘルランバン・ニコラス氏はGPGPU利用者の立場で説明会に参加し、NVIDIAのTeslaシリーズと、その開発環境「CUDA」について、次のように証言した。

 土肥健純教授が率いるニコラス氏所属の研究室では医療向け技術として「New Eye」の開発に取り組んでいる。New Eyeとは、手術を行う医師向けの視覚補助システムだ。CTスキャナによる患部の3次元映像を、ハーフミラーを使って患者の手術部位に重ねて執刀医に見せることで、患部を透視しているかのように手術を遂行できるようになる。病巣部の把握や危険部位の回避に役立つ。

 「Integral Videography」(IV)と呼ぶこの技術は、これまで膝関節の手術など、あらかじめ用意しておいた静的な映像データの投影で対処できるケースでは実用可能とされていたが、心臓のように高速に動く部位については映像処理が間に合わず、実用化のめどが立っていなかった。

nv02.jpg ヘルランバン・ニコラス氏が示した資料。右上は膝関節の様子を実際の膝に投影した映像。Integral Videography(IV)を使った手術の視覚補助システムは、GPU利用により心臓など高速に動く部位での実用化も視野に入ってきたという
heart.jpg CUDAを利用したIVシステム。リアルタイムで心臓の3次元映像を合成し、インタラクティブに操作できる

 ニコラス氏はNVIDIAの外付けGPGPUユニット「Tesla D870」(128個の計算ユニットを備えたGPUを2つ搭載)と映像出力用のビデオカード「Quadro FX5800」、3次元映像の入力システムを接続した一般的なマザーボードによるシステムを使い、リアルに拍動し、ユーザーの操作によってインタラクティブにアングルを変えられる心臓の映像化を行った。256×256×256のサンプリング解像度で映像化した場合、CPUで0.3fpsだった映像がGPUを使ったシステムでは14fpsと約48倍に高速化。GPUの利用により、十分な空間解像度とリアルタイム性を確保することができたという。リアルタイム映像では「1fpsを超えるかどうかが鍵」(ニコラス氏)といい、CPUでは難しかったものがGPUで実用化するめどが付いた事例だ。

 今のところ心臓手術には2つの選択肢がある。1つは手術中に心臓を止めて開胸する方法。もう1つは小型カメラで中を見ながら手術を行う方法だ。後者の方法では得られる映像品質が低く、前者の方法では人工心肺による不自然な血流が患者に悪影響を及ぼすほか、術後に合併症を引き起こすことが多いなど医学界で大きな課題となっている。IVを用いた心臓手術は、実用化に向けた研究が進んでいるという。

汎用製品とCの利用が普及のカギ

 ニコラス氏はCUDAとTeslaを使ったシステムについて、C言語で開発ができること、Windows、Mac OS X、Linuxで単一ソースコードが利用できることをメリットに挙げる。医療システムの利用者は、システム開発者だけでなく、医師や医療機器メーカー担当者など幅広いためだ。

 次期バージョンの「CUDA 2.0」では、Cに加えてC++やFortranもサポート予定だ。また、GPUだけでなくx86アーキテクチャのマルチコアCPUにも対応し、GPUを搭載しないPCでの開発も可能になる。CUDAのAPIはオープンで、「PowerPCやATIのGPUなど、異なるプラットフォームもカバーする標準になってほしいと願っている」(グプタ氏)。これまでにも並列コンピューティングは1960年代、70年代から大学などで研究されてきたが、それぞれ互換性もなく主流になれなかった。一方、対応ハードウェア(GeForce、Quadro、Tesla)の出荷実績が8000万ユニットを超えるCUDAは、リリースから1年半で広く受け入れられつつある。グプタ氏はCUDAの急速な普及のカギはCの採用にあるという。「C言語は、確かに並列処理に適したほかの言語に比べてベストな選択とは言い難い。しかし、例えばHaskellを採用していたら、これほど利用されるようにはならなかっただろう」。

nv06.png CUDAを使った並列処理の例。C言語に対するシンプルな拡張で、多くの開発者が容易に習得できるという。Teslaシリーズの製品ごとや世代ごとの違い、あるいは並列度の違いなど無関係に、すべて同一コードが利用できるのが開発者にとってメリット。今後サポートすることになるx86コアでも同一コードが使えるという

 2007年7月の公開以来、CUDAのダウンロード件数は10万を超えた。すでに日本の東京大学や京都大学を含む50の大学がCUDAを使った教育を行っているほか、250を超える企業・組織がCUDAを利用したソフトウェアを開発・提供している(NVIDIAの事例サイト「CUDA Zone」と、その日本語版サイト)。応用分野では生命科学、製薬、医療機器開発、油田開発、製造業、金融シミュレーション、通信事業者の無線シミュレーションなどがあるという。変わった例として、アパレル業界で布の動きをシミュレートするソフトウェアや、冷凍ピザの調理シミュレーションなどもある。GPU利用によりCPUに比べて十数倍から百数十倍の高速化が可能だという。

nv03.png NVIDIAのCUDA利用の事例紹介サイト「CUDA Zone」

 例えば、スタンフォード大学の分散コンピューティングプロジェクト「Folding@Home」の事例では、参加ユーザーのPCの空き時間を利用したタンパク質構造解析を行っているが、このクライアントソフトで使われる「GROMACS」という分子動力学向けソフトウェアのGPUによる高速化は100〜180倍に及ぶ。1日当たりのシミュレーション時間はCPUを使った場合で4ナノ秒、PLAYSTATION3で100ナノ秒であるのに対して、Teslaの第1世代のG80で423ナノ秒、第2世代のT10で740ナノ秒となる。同プロジェクトチームはFAQページで、こうした劇的な高速化によって「CPUでは遅すぎて考えもしなかったような新しいアルゴリズムへの扉を開いた」としている。

nv04.png タンパク質の構造解析をインターネット上で分散して行うプロジェクト「Folding@Home」のクライアントはATIやNVIDIAのGPUに対応している。Teslaを使った場合、CPUの100〜180倍のパフォーマンスという
nv05.png GPUで行う計算の多くは並列性が高く、コア数に比例してリニアに性能が伸びるという

「Teslaは8086登場に匹敵する革命」

 GPU利用が有効なのは科学計算ばかりではない。コンシューマー向けでも、例えば動画のトランスコーディングでGPUの効果は大きい。グプタ氏は1280×720ドットの約2分間のMPEG2ファイルを、iPod用の320×240ドットのH.264に変換するデモンストレーションを披露。NVIDIA Quadro FX 570M を搭載するノートPCで、CPUのみでは10〜20分程度かかる処理が1分半で終了することを実演してみせた。

 並列コンパイラの研究で学位を得たグプタ氏は、これまでの並列コンピューティングを「象牙の塔にこもった科学者が使うニッチなものだった」とした上で、Teslaシリーズを「これは8086の登場に匹敵するコンピュータ業界の革命だ」という。「われわれは利用者のところに使ってくれと頼みに行ったわけではない。ただ開発環境のCUDAを公開して、それで開発者がわれわれのほうに来て、多くの論文を発表するようになった」(グプタ氏)。これまでにも高度な並列処理をうたったプロセッサとしてソニー、東芝、IBMらが開発したCellもあるが、「もう3年になるがCell向けアプリケーションは数少ない」(グプタ氏)とPC向けとして普及したGPU製品の優位を指摘する。

 ノートPCでの採用も多いGeForceシリーズが牽引役となり、今後も研究開発は継続する。「将来の計画について明言はできないが、NVIDIAの過去の取り組みを見れば18〜24カ月で2倍の性能向上を実現している。今後もコア数を増やしていく」(グプタ氏)。2007年リリースの1世代目のG80シリーズで128コアだったものが、2008年6月に発表した2世代目のT10で240コアに増え、計算能力は1GPU当たり500GFlopsから1TFlopsに向上した。「T10は14億トランジスタ搭載で、これを超えるのはItanium2しかない」(グプタ氏)。T10では搭載メモリも1GBから4GBに増量。メモリアーキテクチャ変更やメモリバンド幅の改善、レジスタファイルの構成変更などにより、「実アプリケーションでは2倍以上の速度」(グプタ氏)となるという。

nv07.jpg 6月に発表したTeslaシリーズの第2世代製品「NVIDIA Tesla C1060 Computing Processor」
nv08.jpg 同じく第2世代の1Uラックマウント型製品「NVIDIA Tesla S1070 Computing System」。4つのGPUを搭載し、計960の計算ユニットを備える

GPU+CPUのヘテロ構成のクラスタサーバ

 CPUに比べるとGPUは利用用途によっては圧倒的なコストパフォーマンスを実現する。また、計算能力に対する設置面積や消費電力もCPUに比べて小さくて済む。クラスタサーバでもGPUを混在させた“ヘテロ構成”のものが登場している。

 例えばオプション取引の価格評価を行う金融ベンチャーの米Hanweck Associatesは、4GPUを搭載するNVIDIAのラックマウント型ユニット「Tesla S870」を3台用いて、リアルタイムで全米のオプション市場の価格を計算する「VoleraFeed」を開発。計12GPUで6U分のラックを占有しているが、もしCPUを利用していた場合には600CPU、54U分のラックが必要だったという。ラックスペースは9倍、ハードウェアコストは6倍、消費電力や冷却費用まで含めたランニングコストは9倍になる計算だという。

 ベルギーのアントワープ大学では、それまで使っていたAMDベースの256ノードのクラスタサーバ「CalcUA」の性能を、8GPUを使ったデスクトップPCシステム「FASTRA」が上回った。「CalcUAは530万ドルのスーパーコンピュータ、FASTRAは7000ドルのデスクトップだ」(グプタ氏)。

 NVIDIAによればGPUを使った同様のクラスタサーバは、NCSA、イリノイ大学、ノースカロライナ大学、マックスプランク研究所など、すでに十数の組織で使われているという。また、米AccelwareはTeslaベースの初の商用クラスタ製品「C30-16」を2008年6月17日にアナウンス。ホストサーバと32〜64GPS構成のクラスタソリューションの販売を始めている。

(@IT 西村賢)

情報をお寄せください:

System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう

キャリアアップ

- PR -

注目のテーマ

- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

「メルカリハイ」の謎を解く――4人に1人が100円以下の利益でもフリマアプリに出品
なぜ人は100円以下の少額利益でもフリマアプリに出品してしまうのか。謎を解く鍵は「承認...

買い物場所の使い分け調査2019――日本能率協会総合研究所
コンビニエンスストア、ドラッグストア、100円ショップなど業態別利用実態と「そこで買う...

セブン&アイが自社にデータドリブンカルチャーを醸成するために使う「Tableau Blueprint」とは?
データドリブン組織を実現するための標準的な計画手順、推奨事項、ガイドラインをまとめ...