ペガシス、TMPGEncへのCUDA実装をデモ
9月10日 開催
米NVIDIAと株式会社ペガシスは10日、CUDAテクノロジを動画オーサリングソフト「TMPGEnc」に対してテスト実装したデモを、国内でもプレス向けに紹介した。 CUDA(Compute unified device architecture)は、NVIDIAのGPUでC言語を利用して汎用的なコンピューティングを行なう技術。今回の例で言うと、動画エンコード前のフィルタリングを、CPUではなくGPUで行なうことでより高速に処理する。 この件については、8月末に開催されたNVISION08にて既に発表されているが、国内向けに改めて紹介された。ペガシス 代表取締役 CEO 海老根崇氏が説明した。 ペガシスは、ロードマップとして8月のNVISION08発表時をフェーズ1と規定する。その時点で、動画エンコード前のプリプロセッシング処理をCUDAで実行するものをテスト実装した。プリプロセッシング処理は、ノイズリダクションやシャープ化、色調補正などフィルタリングを1コマずつ処理するもの。同ソフトのフィルタは現段階で全てがCUDA対応となっていて、複数のフィルタを適用した高負荷時では、CPUの4倍の性能を示すという。続くフェーズ2では、2009年を目処にCUDAで動画のエンコードまで行なうことを目指す。これは「現在はまだ調査段階で、あくまで目標」と同氏は語る。 CUDAの利用については、環境設定からチェックボックスをONにするだけで利用可能になる。CUDA非対応のGPUの場合は、設定がグレーアウトする。現状では、フィルターによってCUDAを利用した場合よりも、CUDAを利用せずにCPUで処理した方が速い場合があるという。今は手動で設定するが、ユーザーへ提供する段階になったら、演算前にベンチマークを行ない、各フィルターに対して自動でCUDAのON/OFFを行なう仕組みを実装する計画だ。 CPUで実行した方が速くなるのは、システムメモリからGPUへと画像を1枚ずつ転送する際に帯域の狭さからオーバーヘッドが発生するため。つまり、低負荷な処理では、GPUに転送、フィルター処理、メモリへの再転送を行なうよりも、CPUでそのまま処理した方が速くなるためだ。パフォーマンスは、CPU単体と、GPU+帯域幅の総合性能の比較になるため、高性能なCPUでローエンドのビデオカードを利用した場合はCUDAが利用されないことになる。 同氏は、「CUDAはビデオカードだけではなく、チップセットなどにも広がりを見せており、よりユーザーに身近なモノになってくる。この状況に対応し、エンコーダそのものもCUDA対応にしていきたい」、とまとめた。
実施されたデモでは、デインターレースやノイズリダクション、色調補正など8つのフィルタリングを適用した状態で、エンコード速度を比較した。テスト環境はOSがWindows Vista Enterprise、CPUがCore 2 Quad Q6700(2.66GHz)、ビデオカードがGeForce GTX 280。1,440×1,080ドットで約15秒(301フレーム)の動画を、720×480ドットに変換した。結果、CUDA無しで3分58秒、CUDA有りで41秒という結果になった。 そのほか、フィルタリングを優先して実装した理由については、「エンコード処理については工数や、実装に時間がかかること、最適化が可能なのかといった観点から、実際に効果的な結果を生むことができるフィルタから実装した」と説明した。また、他社のエンコーダで、CUDA利用時にCPU単体と比較してペガシスのものよりパフォーマンスが出ている例もあるが、これはペガシスのエンコーダがIntelのマルチコアCPU向けに「カリカリにチューン」されているためとコメントした。SLIでのCUDA利用については、検証中だが理論上は高速化できるとした。 なお、同社は10月初旬をターゲットにプレス/レビュワー向けにベータ版を提供予定。一般ユーザーへの提供開始はそれ以後となるが詳細は未定で、アップデートは無償で行なう意向だ。
□NVIDIAのホームページ(英文) (2008年9月10日) [Reported by matuyama@impress.co.jp]
【PC Watchホームページ】
|