両社の最新GPGPU戦略
今回は両社とも、新GPUの発表に伴って、GPUを活用した映像ファイルのエンコードやトランスコーディングのソリューションを訴求してきたことが興味深い。これは両社のそれぞれのGPUが、それぞれにGPGPU的に積極活用できることをアピールしたものだ。
NVIDIAは、同社のGPGPUプラットフォーム「CUDA2.0」によって提供される多様な並列コンピューティング・ライブラリを利用したアプリケーションの1つとして、動画エンコーダがアクセラレーションできることをアピールした。
NVIDIAが公開したのがElemental Technologiesと共同開発中のCUDA2.0ベースの「RapiHD」テクノロジーだ。現在、8月発売予定のスタンドアローンで使えるトランスコーディングソフト「Badaboom」と、Adobe Systems製の業務用ビデオ編集ソフト「Adobe Premiere Pro」用のRapiHDプラグインの開発を行っており、GeForce GTX 200シリーズの発表会ではその実動デモが行われた。
Badaboomは、1280×720ドット/30fpsの高解像度MPEG-2ムービーのiPhone向けのH.264ムービーへの変換を、リアルタイム再生の最大5倍速でエンコードすることが可能。また、RapiHDプラグインは、1440×1080ドット/25MpsのMPEG-2ストリームをH.264へトランスコードする際、リアルタイム再生の2倍速でエンコードが行えるとしている。
Elemental TechnologiesとNVIDIAが共同開発中のトランスコーディングソフト「Badaboom」 |
HD→SDのH.264トランスコーディングはリアルタイム再生の約5倍速で行える。これはデュアルコアCPUで行った場合の約18倍の速さに相当 |
RapiHDベースのGPGPUエンコーディング・エンジンはAdobe Premiere Pro用プラグインとしても提供予定。HD→HDの高解像度ビデオのトランスコーディングもリアルタイム再生の2倍速変換が可能であることをアピール |
ATIは、Radeon HDシリーズでアクセラレーションされる「AVTインターフェース」(AMD Accelerated Video Transcoding Interface)と呼ばれるエンコーディング・エンジン向けのライブラリを公開するとしており、これを利用して開発されたエンコーディングアプリケーションがアクセラレーションされる仕組みだ。AVTインターフェースのライブラリそのものの実行は、CAL(AMD Compute Abstraction Layer)コードに変換され、これがドライバを通じてGPUを駆動することで実現される。
ATIが提唱するGPUによるビデオエンコーディング・ライブラリ・システム「AVT」の動作概念 |
Radeon HD 4800シリーズならばCore 2 Duo E8500の約19倍の速さでトランスコーディングがこなせるという |
ただ、このAVTインターフェースはまだ開発中の模様で、Radeon HD 4800シリーズの発表会で公開されたPowerDirector7に含まれるGPGPUトランスコーディングエンジンは、Radeon HD 4800シリーズ専用のCALコードの直実行で動作しているとのことで、Radeon HD 3800シリーズ以前には対応していない。
とはいえ、現状のテストバージョンのパフォーマンスは非常に高く、1080pのフルHD動画のトランスコーディングを、Radeon HD 4800シリーズがCore 2 Duo E8500の19倍も速く行えたというデータが示されている。さらに同時に4ストリームの同時エンコードの実演デモも行われており、柔軟性の高さをアピールしていた。このRadeon HD 4800シリーズ対応のトランスコーディングエンジンの提供時期は明らかになっていないが、PowerDirector7ユーザーへは無償アップデートの形で提供されることだけは、開発元のサイバーリンクが確約している。PowerDirector7は日本でも知名度の高いソフトだけにその反響は大きいはずだ。
そして、さらに、ゲームユーザーにとって身近なGPGPUテーマといえば、「物理シミュレーション」ということになるだろう。
NVIDIAは、これについても、やはりCUDA2.0ベースで実現する。
NVIDIAは2008年2月に物理シミュレーションエンジン「PhysX」の開発元であるAGEIAを買収したが、このAGEIA PhysXをCUDA2.0を利用してGeForce 8000/9000/GTX 200シリーズでアクセラレーションする「CUDAソルバ」の提供を予定している。すでに関係者によるβテストが開始されており、PhysXベースのUnreal Engine3.0ベースのゲームや、ベンチマークソフトの3DMark Vantageの物理シミュレーション部分のアクセラレーションが実際に確認されている。このCUDA2.0によってPhysXがアクセラレーションされる仕組みに、NVIDIAは特に「GeForce PhysX」というブランドネームを与えている。
Unreal Engine3.0は物理シミュレーションにPhysXを採用しているため、CUDAソルバ提供後は「Unreal TournamentIII」の物理シミュレーション部がアクセラレーションされる |
GeForce PhysXに対応した発売予定タイトル群 |
ATIは、物理シミュレーションに関してはPhysXのライバルともいえるHAVOK社のHavok物理シミュレーションを、Radeon HD 4800シリーズなどでアクセラレーションさせる技術開発を行う予定であると、2008年の6月にアナウンスした。ただ、まだ発表だけであり、どのような仕組みかは全く明らかになっていない。
ちなみにHAVOKは2007年9月にIntelに買収されており、Intelの子会社のHAVOKが、IntelのライバルにあたるAMD(ATI)と技術提携するというのは、業界動向としても興味深い話ではある。
突然発表されたAMD(ATI)とHAVOKの技術提携。何がどうなるのかは全く不明。まさに声明発表といった風情 |
物理シミュレーションのGPUアクセラレーションについては「NVIDIA & PhysX 対 ATI & Havok」という図式になりつつある |
ATIは「CPUメーカー(AMD)のグラフィックスプロセッサ部門」という立場もあって「GPUをグラフィックス以外のコンピューティング用途に活用する」というGPGPUプラットフォームの整備には、なんとなく消極的だったような印象を受ける。AMDはCPUとGPUの統合に積極的であるため、GPU単体だけを高性能汎用コンピューティングリソースとして積極アピールすることが、なんとなくCPUを自己否定しているようで心苦しい部分もあったのではないか。その心苦しさの一端が見られるのが、前出の「GPUによる動画エンコードがCPUの19倍高速」という比較グラフだ。対比先のCPUがIntel製CPUなのだ。このグラフにAMDのCPUを持ってくると「AMDのCPUは遅い」といっているようなイメージになるため避けたのだろう。
少々余談が過ぎたので話を戻すと、いずれにせよ、ATIは、ここにきて動画エンコード、物理シミュレーションという二大メジャー級GPGPUテーマが取り沙汰されるようになってから、急に激しい準備(根回し?)やブランディングの発表を行っているように見受けられる。
前編でも少し触れたように、ATIはGPGPU開発言語としてスタンフォード大学が開発したベクトル拡張版C言語ともいえる「Brook」のATI独自拡張仕様版、「Brook+」を2007年末よりリリースしているが、残念ながらこれで商業GPGPUアプリケーションが書かれているという話はまだ聞こえてこない。NVIDIAのCUDAプラットフォームがプロフェッショナルビジネスシーンやアカデミックシーンで積極導入されているのとはとても対照的だ。
ATIの考えるGPGPUエコシステムの概念図。自社技術であるはずのCALやBrook+は小さく扱い、オープンスタンダードなOpenCLや次世代DirectXをATIのGPGPUプラットフォームの標準として行きたいという意思表示にも見える |
動画 | ||
---|---|---|
|
Appleが提唱し、Khronosグループによりオープンプラットフォーム化が進められている、ストリーミングプロセッシングに適した拡張を施したC言語ベースのGPGPU開発プラットフォーム「OpenCL」、そしてデータパラレルコンピューティングに対応すると言われる「次世代DirectX」なども、GPGPUプラットフォームのスタンダードをかけて登場してくるが、ATIはそうした標準仕様の確立を待っているようにも見える。それまでは当面、技術力のあるソフトスタジオにCALベースで開発してもらうか(丁度PowerDirector7のGPUアクセラレーション・エンコーダがこのパターンだが)、あるいはAVTインターフェースやGPUアクセラレーション版HAVOKのような、特定用途のためのライブラリやミドルウェアをATIがイニシアチブを取って開発していくような方針になるのだろう。
CUDAのおかげでGPGPUプラットフォームの整備に先行している感もあるNVIDIAではあるが、それこそOpenCLや次世代DirectXなどの競合プラットフォームとの関係性をどう取っていくかが重要になってくるだろう。CUDAはNVIDIAのGPUをTESLAとして高く売るための要の技術であるために、NVIDIAとしてはCUDAの価値は落としたくないはずだからだ。
(トライゼット西川善司)