●2009年に期待したいGPGPU 前回も書いたように2008年のPC業界を代表する製品は、ネットブックとSSDの2つだったと思っている。はたして2009年はどうなるだろう。2008年の話題だったネットブックとSSDが、引き続き大きなトピックとなるのは、ほぼ間違いないだろう。両製品とも、市場でしっかりとした地位を確保するのではないだろうか。 この2つに続くような、新しい技術、新しい製品ジャンルとなるとなかなか思いつかないのだが、注目度ということではGPGPUに対する期待が大きい。だが、注目度としては高いものの、技術としてではなく、実際の製品として大きなトピックになるかというと、まだ難しいように思う。GPGPUは2009年も話題になるとは思うが、製品として市場を席巻するのは2010年以降になるだろう。 なぜGPGPUが製品としてなかなか普及しないのか。それはGPGPUがソフトウェアの対応を必要とするからだ。上の2つ、ネットブックとSSDは特にソフトウェアの対応を必要としない(最適化されたソフトウェアがあれば、それに越したことはないが)。しかしGPGPUは、必ずソフトウェアが対応しなければならない。言い替えればGPGPUというハードウェアの上に、新しいソフトウェアのエコシステムを構築しなければならないわけで、それには時間がかかる。 GPGPUに対応したソフトウェアのエコシステムがなかなか確立できない理由の1つは、標準の欠如だ。現在、グラフィックス分野は、NVIDIA、AMD(ATI)、Intel(現時点ではチップセット内蔵のみ)の3社でシェアの大半を占める。このうち、GPGPUに対応した製品をすでに持っているのはNVIDIAとAMDの2社だが、それぞれのプログラミングモデルに互換性がなく、アプリケーションは個別に対応するしかない。3Dグラフィックスにたとえると、GlideやS3dなど、各社が独自のAPIを提供していたDirectX前夜的な状況だ。
GPGPUの標準的なAPIセットになりそうなのは、WindowsではDirectX 11、その他のOS(Mac OS X、Linux等)ではOpenCLだと思われる。が、次期WindowsであるWindows 7にビルトインで提供されるのはDirectX 10.1であり、DirectX 11はWindows 7のリリース後の提供になる見込みだ(Windows Vistaにも提供される予定)。Windows 7のリリース時期は、どんなに早くても2009年末あたりだと考えると、DirectX 11が2010年より前に提供される見込みはほとんどない。言い替えれば、DirectX 11という標準に基づいたGPGPU対応のアプリケーションが登場するのは、2010年以降になる。2009年にGPGPUが技術的に話題になるとしても、製品としてブームを引き起こすことはないだろう。 一方、Macでは次のSnow Leopard(Mac OS 10.6)でOpenCLがサポートされる。新しいMacBook/MacBook ProがすべてNVIDIAのGPU(チップセット内蔵を含めて)を搭載することになったのも、この前触れだろう。OpenCL自体は、特定のハードウェアに依存しない規格だが、ドライバサポート、あるいは対応アプリケーションを提供する際に、ハードウェアを特定できた方が、製品を提供する側、サポートする側としては効率が良い。 だが、このSnow Leopardの提供時期について、Appleは公式なスケジュールを明らかにしていない。Windows Vistaをベースに開発を行なうWindows 7に対して、Snow Leopardはカーネルレベルからの新規開発を含むメジャーチェンジになると見られる。Snow Leopardのリリースは、Windows 7よりも後になるというのが筆者の予測だ。つまり標準に準拠した形でGPGPU対応アプリケーションが登場するのは、Macでも2010年以降になるだろう。 ●お金の取れる技術の条件 GPGPUのもう1つの問題は、これが何に使えるのかハッキリしない、ということだ。いや、HPCをはじめとしたコンピューティング・アプリケーションに使えるのは分かっている。が、PCを利用する多くの人は、流体力学の専門家でもなければ、分子生物学の研究者でもない。多くのPCユーザーが毎日利用するアプリケーションで、どれくらいGPGPUが効果を発揮するのか、あるいはGPGPUによって新しいエブリデイ・アプリケーションが誕生するのか、それが分からないのである。 コンピューティング・アプリケーション以外で、現在GPGPUが使われていのはビデオのエンコードだが、毎日ビデオのエンコードを行なうユーザーは、この日本においても少数派だろう。TVを録画する文化が存在しない海外だと、もっと少ないと思われる。 そのビデオエンコードにしても、現時点でGPGPUのメリットは見えにくい。たとえばAMDが無償で提供しているAvivo Video Converterだが、確かにエンコード速度は速い。だが、生成される動画の品質は必ずしも良くない。筆者は動画のエンコードにはTMPGEnc 4.0 Express(おもにVP6プラグイン)か、HandBrake(おもにH.264)を使うことが多いが、これらと同等の品質でなければ、時間が短縮されてもあまり嬉しくない。まぁiPodなど画面の小さな環境向けにはこれでもいいか、と思わなくもないが、比較しようがない、というのが正直なところだ。 もちろん、Avivo Video Converterは、AMDが無償で提供してくれている、いわばサンプルアプリケーションであり、これでGPGPUの有益性を論じようとは思わない。だが、技術的にどんなに興味深かろうと、ポテンシャルとしては大きかろうと、現時点ではあまり使い道がない、というのがGPGPUの実情だ。この状況を改善する1つのきっかけに成り得るのは、やはりOSによる標準のサポートだろう。 技術的なポテンシャルはあるものの、その有効な使い道がなかなか見えないという点で、GPGPUはMMXに似ていると筆者は感じている。最初のSIMD命令セットであるMMXも、リリース時点でキラーアプリケーションが存在しなかった。ソフトウェアシンセサイザ(MIDI)やソフトウェアモデムといった用途は、従来型CPU(Pentium)とMMX Pentiumの差額を正当化できるものではなかった。 結局MMXにキラーアプリケーションは登場しなかった。それは、最新のSIMD命令セットであるSSE 4.2でも同じだ。特定のアプリケーションを利用するために、MMXやSSEをサポートしたCPUに乗り替える、ということにはならなかったし、今もなっていない。おそらく、将来的にもならないだろう。SIMD命令は、新しいCPU、新しいPCを買うとついてくるものであっても、そのためにお金を払うものではない。 もちろん、これはMMXやSSEに価値がないと言っているのではない。おそらく今使っているPCでMMX命令を無効にしたら、DVD再生ソフトをはじめ、かなりのソフトウェアが利用できなくなるハズだ。MMXやSSEは、縁の下の力持ち的な立場で、PCのプラットフォームを支えている。 それでも、CPUというハードウェアが提供されてから、エンドユーザーが実際に使えるようになるまで(ソフトウェアが対応するまで)時間が必要なことが、MMXやSSEをお金がとれない技術にしてしまっている。人は今日から使える具体的なアプリケーションにしか、お金を払わないものなのだ。製品寿命の短いPCでは、なおさらその傾向は強い。 もしGPGPUに一般向けのキラーアプリケーションが登場しなければ、GPGPUもCPUのSIMD命令がたどったのと同じ道を歩むかもしれない。ほぼすべてのユーザーが、ほとんど日常的に利用するアプリケーションにGPGPUが活躍する場を見つけられなければ、GPGPUに投資しようというユーザーは少数派にとどまる。SIMD命令と同じ、便利なオマケになってしまうだろう。 GPGPUが広く喧伝されるようになってから、すでに2年あまりの歳月が経過した。にもかかわらず、それが一般のユーザーにどれだけ役に立つのか、具体的に語られることは多くない。10月末に開かれたPDCでも、GPGPUがWindowsをどう変えるのか、Microsoftは語ってくれなかった。何か秘めたプランがあるのなら良いのだが。 そういう意味で筆者が期待しているのはやはりAppleだ。OpenCLを提唱するとともに、NVIDIAのグラフィックスをすべてのノートタイプのMacに搭載するといった、目に見える形の「準備」を行なっている。間もなく発表されるであろう次のiMacも、NVIDIAのグラフィックスが採用されると思われる。現時点ではGPGPUを活用した標準アプリケーションどころか、Snow Leopardの概要すら明らかにしていないAppleだが、秘密主義の同社のこと、「準備」の裏付けになるような何かで、アッと驚かせてくれるのではないかと期待している。
□関連記事 (2009年1月5日) [Reported by 元麻布春男]
【PC Watchホームページ】
|