GPUクラスタでモバイル端末でも精細画像
GPUが可能にする「リアルタイム」の3Dレイトレ映像
2009/12/17
「GPUはラスタライズでのみ有効で、レイトレーシングを高速化することはできないと言われてきた。しかし一般通念というのがいつもそうであるように、これもまた間違いだった」。こう語るのは、米NVIDIA特別研究員のデイビッド・カーク博士だ。12月16日から横浜で開催中のコンピュータ・グラフィックス関連の年次イベント「SIGGRAPH ASIA 2009」で基調講演を行ったカーク氏は、GPUや、GPUクラスタによって、われわれが目にするコンピュータ・グラフィックスが、今後どのように変わっていくのかを解説した。
レイトレーシングのほうが画質上は望ましい
3Dグラフィックを描画する方法として、現在大きく2つの方式がある。1つはリアルタイム性が要求されるゲームなどで使われるラスタライズと呼ばれる方式で、もう1つは、事前に時間をかけて映像をレンダリングする映画などで用いられているレイトレーシングという方式だ。
「レイトレーシングのほうが品質の高い映像が作れることは分かっている。ただ、多くの計算資源が必要となる」(カーク氏)
描画する図形や物体をベクトルデータとして持ち、これをピクセルによる表現に落とすラスタライズ方式に比べて、光線の反射を追跡するレイトレーシング方式は、多様な物質の反射現象を模倣する視覚効果アルゴリズムを組み合わせやすく、写真のようにリアルな表現が可能となる。例えば、光線が物質表面だけでなく、物質表面の内部に入って戻ってくるような反射の仕方を考慮することで、単純にビットマップを貼り付けて影を付けただけの表現よりも、高い質感を出すことができるし、何段階かの反射を計算することで、部屋全体がぼんやり明るくなるような自然な間接光を表現できるようになる。
レイトレーシングは計算量が多いため、映画製作などでは、事前に数百、数千台のCPUクラスタによるレンダリングを時間をかけて行ってきた。こうした処理が、ハイエンドのGPUを使うことで、ほぼリアルタイムで可能いなりつつあるのだという。
現在の一般的なPCに搭載されているGPUの演算能力は、高い並列性により1TFlops程度となっており、これは15年前のスーパーコンピュータ並みだという。「PCのGPUは、プログラミング可能な、柔軟で、非常に大きな計算能力を備えている」(カーク博士)。近年GPUは、事前に決められたアルゴリズムに従って並列処理だけを行うパイプラインの塊から、個々にプログラム可能なグラフィック・コアの集合へと進化していて、これが、GPUによるレイトレーシングを可能とした理由の1つだという。
この変化は2006年にリリースされたGeForce 8800ですでに起こっていて、GPUを物理や金融のシミュレーションに生かす「GPGPU」が、広く注目されるに至っている。長崎大学工学部の浜田剛助教が物理シミュレーションで米電気電子学会の「ゴードン・ベル賞」を受賞したのも、こうした応用の1つだ。
むしろGPGPUに遅れる形で、プログラム可能なコアを新しいグラフィック分野に応用したのが2009年8月にNVIDIAが発表した一連のインタラクティブなレイトレーシングエンジンだ。
そのコア製品となる「NVIDIA OptiX engine」は、NVIDIA Quadroシリーズで利用可能なソフトウェア。各種アルゴリズムを実装したレイトレーシング処理を行う仮想的パイプラインをグラフィック・コアで実現するもので、C言語による開発が可能なSDKとして無償提供されている。カーク博士はデモンストレーションで、ほぼリアルタイムな描画が可能であることが分かる映像を示してみせた。マウスでアングルを変える瞬間だけはピクセルを大幅に間引きするなど、まだ完全なリアルタイム処理という感じではないが、見慣れた3Dグラフィックとは明らかに異なる写真のようなリアルな映像が、やや操作から遅れを取りながらも、ほぼリアルタイムで表示されるのに驚く。
今回の講演のものではないが、NVIDAのYouTube公式チャンネルには、ARとリアルタイムなレイトレーシングを組み合わせたデモンストレーション映像が公開されている
GPUクラスタで高品質な映像をWebに
GPUクラスタを使えば高速化が可能で、これをサーバ側に設置することで、従来にないタイプのWebサービスが実現可能という。12月1日に出荷が開始されたばかりの「NVIDIA RealityServer」は、GPGPU向けの「NVIDIA Tesla RS」とソフトウェアを組み合わせた製品だ。医療やエンジニアリング、デザインの現場でのビジュアライゼーション用途ばかりでなく、オンラインショップの商品紹介や仮想世界への応用もあるという。あらかじめ用意したレイトレーシング映像だけでなく、顧客の操作によって色やセッティングを変更した商品イメージを、写真のようなリアルさで提示するといった用途だ。クラウド側で処理を行うため、クライアントはPCではなく、モバイル端末でも構わないという。
カーク博士は、プログラム可能なグラフィック・コアの応用は、3Dグラフィックスだけでなく、2Dグラフィックにも及ぶという。現在、PDF、SVG、Open XMLなど多くのフォーマットで、曲線などを表現するためにパスレンダリングと呼ばれる処理を行っている。GPUを使うことでこの演算が大幅に高速化するのだという。例えば約5000個の3次元ベジエ曲線のコマンドを用いて絡み合う犬をモチーフにしたロゴ図形の例では、ソフトウェア(CairoやQt)によるレンダリング処理で1000×1000ピクセルの出力を行うと秒間1〜13フレームとなるのに対して、GeForce 8600GTを使った場合には100フレームを超えるパフォーマンスが出るという。カーク博士によれば、シェーディングやアンチエイリアシングなど、もともとGPUが得意とする処理も、パスレンダリングに有利に働くという。
レイトレーシングのほか、現在NVIDIAでは物理シミュレーションを行うエンジンも提供していて、「もう今後、ゲームのデザイナたちは、物理モデルのことで時間を使わなくても済む」(カーク博士)という。
GPUやGPGPUは、たまたまあるアーキテクチャが行き詰まったことで、すき間を縫うように出てきた一時的なアーキテクチャとする見方がある。CPUもコア数を増やして並列化は進んでいるし、CPUクラウドによる分散処理も一般化しつつある。
ただ、カーク博士の予言は、CPUとGPUの差は今後ますます広がるというものだ。「CPUは今後、コアの増加などで年に20〜30%高速化していくだろう。一方、GPUの高速化は年に50倍から100倍と加速していて、その差はますます開くだろう。今のGPUは100プロセッサだが、すぐに1000プロセッサとなる」。CPUではシリアルな処理を行い、GPUでパラレルな処理を行う。プロセッサに適した処理をヘテロな環境で行うことが今後ますます重要になるだろうとして講演を締めくくった。
関連リンク
関連記事
情報をお寄せください:
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|
キャリアアップ
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
CDPの使い方には正解がない だから「コミュニティー」が必要だった
「Treasure Data CDP」ユーザーが主体となって活動するコミュニティー「Treasure Data Ro...
人×AIで磨く ライオンの顧客理解の進化
大手消費財メーカーのライオンが、人と生成AIを融合した顧客理解と市場分析に取り組んで...
生成AIが投資をけん引 2025年度の国内企業のIT予算は「増額」が過去最多に
生成AIの急速な普及により、企業のDX投資は新たな局面を迎えているようだ。