GPU連携によりMacが活発になる

今年リリースされたAdobe CS5シリーズ。CS5の新機能はご存知の通りたくさんあり過ぎて、使い切るのに一苦労ではないでしょうか。注目の新機能のひとつがグラフィックスカードとの連携で、画像処理を高速化させたMercury Playback Engineです。NVIDIA社製のCUDA搭載のハードウエアにより、それまではレンダリングやリアルタイム処理で息切れしていた演算で、飛躍的に処理時間を短縮できるようになっていると聞きます。

これに先立って去年のInterBEE2009で発表になった、Autodesk社のSmoke on Macもハイエンドのグラフィックスボードを必須として、OpenGL機能を生かした高品質なグラフィックス処理をレンダリング結果として提供しています。さらに8月に国内でもリリースとなったDaVinci Resolve for MacもNVIDIAのFX4800を現実的には必須とし、32bitフローティング処理による広大なカラー空間でのカラーグレーディングがMacの中だけで実現しています。

これらのソフトウエアに共通している点は、GPUグラフィックス・プロセッシング・ユニットを有効に活用して、画像演算を高速に処理できるところです。さらにNVIDIAが提供するCUDA技術を使うことで、さらに高いパフォーマンスを得ているところです。CUDAとはGPUに特化したC言語系の統合開発環境で、これまでは専用のプログラミング手法が必要だった困難な点を、汎用性の高い開発環境を広く公開したことで、ソフトウエアの開発が円滑になると期待されています。

9月21日にカリフォルニア州のサンノゼで開催されたNVIDIA社の開発社向けカンファレンスでは、今後の同社の製品ラインナップをアピールするとともに、この先のコンピュータの中で活用される画像処理における傾向が紹介されていました。CPUは高度な演算処理が得意で、これまでその演算性能がムーアの法則とともに日進月歩で進化してきました。処理性能を表すクロック周波数も近年頭打ちの気配が見えており、聞くところによれば内部の電子回路は物理的な限界に来ているとの説もあります。GPU処理はこんなCPUの課題に対して、現実的な解決手段になるのではないかと私は期待しています。

先に紹介したカンファレンスでCEOのジェンセン・ファン氏も言うように、CPUとGPUの連携こそが現実的な使い方であって、CPUからGPUに置き換わっていくということではありません。誤解を恐れずに簡潔に表現すれば、CPUの直列的な処理に対して、GPUは小さくシンプルなコアを生かした並列処理に特化していて、そもそも守備範囲が異なるわけです。

現にAutodesk社のポストプロダクション向けのシステムのBurnでは、レンダリング向けの複数ノードでNVIDIA社のGPUを搭載することにより、CPU処理以上の高速なレンダリング時間を提供しています。特に業務用途ではレンダリング時間がコストにダイレクトに跳ね返ってくることになり、時間イコール製作費と言ってもいいでしょう。

GPU分野で取り残されているMac

features_graphics_display_20100727.png
キャプション

3DCGを駆使したフォトリアリスティックなゲームの進化は、とどまることがありませんが、これらはすべてグラフィックス処理が前提です。このジャンルの熱烈なユーザーのPC環境は、決まってWindowsOSです。Macを使った3Dゲーマーというのは聞いたことがありません。これはひとことで言えば、製品出荷のサイクルが早いグラフィックスカード向けのMac版ドライバ開発をメーカーが無視してきたからです。Appleもこの分野でまったくやる気がなかったと言うわけではなくハードウエアに依存するのではなく、CoreImageやCoreGraphicsなどのOSに密接に結びついたところで先進性を追求した結果だと思います。これによりApple社はMacの中でのグラフィックス処理において、他社の製品リリースやアーキテクチャの事情に振り回されることが回避できます。自社のペースで理想のOSやソフトウエアに対する環境を提供できると考えたのではないかと思います。他社の事情を自社の製品に影響されることを極端に嫌うApple社なら、当然このように考えても不思議はないと感じます。

しかし時代は少しずつ変わりつつあると感じます。その気配を感じるきっかけが、最初に述べたGPUを生かしたソフトウエアの台頭です。エンターテインメント系の画像処理では、3Dモデリングからレンダリング、また映像素材を使ったコンポジットでも、3D空間でのレンダリングが特殊なことではなくなってきています。従来の2D処理だけでは対応しきれなくなっているのです。これではいくらMac OS Xの内部アーキテクチャが優れていても、限界が見えてきているはずです。そこでアプリケーションベンダーがGPUを積極的に活用するという選択肢を取っているのだと私は考えています。

しかし現在のMac OS Xでは、まだ最新最速のNVIDIA社のGPUを使うことができません。ミドルレンジで数年前にリリースされた機種のサポートにとどまるという現状です。これはAppleというよりもGPU製品のベンダー側の事情でそうなっているのでしょう。今後さらにGPU依存のMacの中で動くアプリケーションが増えるでしょうから、このあたりでNVIDIA社もApple社も方針を転換していく時期に来ていると感じます。そして、ユーザーもそれを強烈に期待しているはずです。もうこれからは3D処理ならWindowsやLinuxしかない、という選択肢はご免なのです。

意外と影の薄かったGPU

Quadro_FX4800_low_3qtr.png GeForce_GTX_285_mac_low_3qtr.png

正直に言えば私はこれまでMacを多用してきたので、そして映像系のソフトウエアが基本だったため、高い性能のGPUボードをMacにインストールすることに懐疑的でした。一部にはFinal Cut ProでもGPUボードを高速なものに入れ替えることで、再生時のコマ落ちが軽減されるといった都市伝説的な話題をもありました。少なくともFCPだけを使うのなら、GPUは標準的なGPU製品で不自由ないと確信しています。

例外的な事情は、AppleのColorでした。もともとAppleに買収される以前のSiliconColor社Final Touchと呼ばれていた頃は、デモンストレーションの中でATI社のGPUとの組み合わせによって、高速なレンダリングと高いリアルタイム処理をアピールしていました。最初にMacWorldの会場でFinalTouchを目にした時の衝撃が、懐かしく思い出されます。

実際にこれまで私が構成を任されたMacintoshでは、間違いなくグラフィックスボードは標準仕様のままでした。他のメモリやハードディスクは吟味しても、GPUボードに関してはスルーしてきました。また、Appleストアでの購入では、GPU製品の選択肢がとても少ないのもそれを後押ししていました。

こんな背景もあって、Macの中でのGPUはそれほど意識して使うデバイスではなかったと言っていいと思います。どうしてもGPUについての存在を確認したいのであれば、システム環境設定の中で省エネルギー設定からパフォーマンスを切り替えてみて、システムプロファイルを見ることぐらいでしょうか。私の2009年型MacBook Proの場合は、この省エネ設定によって搭載しているGPUを切り替えて使っています。これによってMac本体の発熱量が明らかに変化するので、パフォーマンス重視の場合とバッテリライフ重視の場合で使い分けすることは可能です。

現状でMac Proにインストールして使えるCUDA対応のグラフィックスボードは、FX4800とGTX285です。GTX285はすでにディスコンになっていて、流通在庫限りと言う品薄な状況であり、FX4800はハイエンド向けという位置づけのため20万円近辺の入手価格で、ひとつのパーツとしてみるとかなり価格が出っ張った印象です。先日私はどうしてもGTX285が必要になったので、仕方なくeBayからオークションで入手したくらいです。それくらい選択肢が少なく、入手も簡単ではありません。

Appleの選択肢

Appleはそのときの必要なハードウエアのスペックに合わせたソフトウエアの作り込みを、たくみに行ってきました。Mac単独で非圧縮相当のHD映像を使うためにProResコーデックを開発したのも、こんなハードウエアのスペックを知った上でのソフトウエアとの連携でした。身の丈に合ったソフトウエアの開発というわけです。グラフィックス分野でも、第二のProResのようなある種の発明が、我々の手に届くところで出てくるのでしょうか?それともGPUというハードウエアを積極的に取り入れる方向性にシフトするのでしょうか?

Mac Proのユーザー層とGPU性能を渇望するユーザー層は、近似のところにあるでしょう。そんなシェアの少ないクリエイティブプロに向けた満足度をAppleはどの程度大切にしていくのか。iPhoneやiPad時代の今後のMacという製品カテゴリを考える上で大切な視点だと感じます。

WRITER PROFILE

山本久之

山本久之

テクニカルディレクター。ポストプロダクション技術を中心に、ワークフロー全体の映像技術をカバー。大学での授業など、若手への啓蒙に注力している。