オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
OpenGLがOpenGL ESを呑み込む!? 次世代TegraがOpenGLに対応する理由も見えてきた,GTC 2013のKhronosセッションレポート
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2013/03/25 00:00

ニュース

OpenGLがOpenGL ESを呑み込む!? 次世代TegraがOpenGLに対応する理由も見えてきた,GTC 2013のKhronosセッションレポート

GTC 2013にKhronosが登場
OpenGL
 オープンなグラフィックスAPI「OpenGL」や「OpenGL ES」など,オープンスタンダードのAPI規格を策定する業界団体であるKhronos Group(クロノスグループ,以下 Khronos)が,NVIDIAの主催するGPU技術会議「GPU Technology Conference 2013」(以下,GTC 2013)に登場。「Khronos Open API Standards The foundation for Mobile Innovation」と題したセッションで,策定しているAPI規格の動向を解説した。

Neil Trevett氏(President, Khronos Group)
OpenGL
 NVIDIAを率いるJen-Hsun Huang氏の基調講演で,次世代Tegra「Logan」(ローガン,開発コードネーム)が,組み込み機器向けのグラフィックスAPIであるOpenGL ESではなく,OpenGLをサポートすると明らかになったのは記憶に新しいところだが(関連記事),その理由も見えてきたので,興味深かったセッションの内容をここにまとめてみたい。

 なお,セッションを担当したのは,Khronosのプレジデントにして,NVIDIAのモバイル機器部門担当副社長でもあるNeil Trevett(ニール・トレヴェット)氏だ。


OpenGLの最新動向〜ComputeShaderの導入により,グラフィックスでのGPGPU活用が加速


 MicrosoftのグラフィックスAPI「DirectX」(=Direct3D)は進化が止まっているが(関連記事),それに対してPCおよびワークステーション向けのグラフィックスAPIであるOpenGLは毎年更新され続けている。
 OpenGLの最新バージョンは「OpenGL 4.3」。組み込み機器向けのグラフィックスAPIである「OpenGL ES」の機能を取り込みつつ,新世代のテクスチャ圧縮技術「EAC」「ETC2」「ASTC」などを新たにサポートしたのが特徴だ。
 Trevett氏に言わせれば,「今やOpenGLはDirect3Dのスーパーセットになった」とのことである。

テクスチャ圧縮の歴史(左)と,「スケーラブルで超高品位なテクスチャ圧縮技法」としてOpenGL 4.3で導入された「ASTC」の説明スライド(右)
OpenGL OpenGL

OpenGLがComputeShaderに対応
OpenGL
 そんなOpenGL 4.3におけるもう1つの大きなトピックが,「ComputeShader」(コンピュートシェーダ)のサポートである。「ComputeShaderってGPGPU的なやつでしょ? 『OpenCL』があるんじゃないの?」という突っ込みは鋭いが,Khronosが策定しているGPGPU用APIたるOpenCLは,もともとOpenGLとは異なる規格として策定が進められた経緯があり,Direct3DにおけるComputeShader相当の機能,つまり「グラフィックスAPIから使えるGPGPU機能」が策定されていなかった。OpenGL 4.3で追加されたComputeShaderは,まさにこの機能のことになる。

 HPC分野やスーパーコンピュータ用途として,Khronosは従来どおりOpenCLを推進していく。一方で,3Dグラフィックスレンダリングと連動させるためのGPGPUは「ComputeShaderのあるほうが便利」(Trevett氏)なので,OpenGLから対応したというわけだ。


OpenGL ES最新動向〜ARMやImaginationが3.0に対応。NVIDIAは2014年のLoganを待つ


 携帯電話やタブレット端末などに向けたAPIであるOpenGL ESは,最新版の「OpenGL ES 3.0」が提供されている。
 そのOpenGL ES 3.0は,新しい機能として「Geometry Instancing」(ジオメトリインスタンシング)「Transform Feedback」(トランスフォームフィードバック)「Multi-Render Target」(マルチレンダーターゲット)「Occlusion Queries」(オクルージョンクエリ)などの新規サポートがトピックだ。これらについてはSIGGRAPH 2012のレポートが詳しいので,そちらを合わせてチェックしてほしい。

 現在普及しているグラフィックスハードウェア(=GPUコア)は「OpenGL ES 2.0」の対応が主流だが,2013年以降,モバイルGPUコアもOpenGL ES 3.0対応のものへ切り替わっていくと予測されている。たとえばARMの「Mali T600」や,Imagination Technologiesの「PowerVR Series6」といったGPUコアは,OpenGL ES 3.0対応予定となっている。

GPUコアを72基統合するTegra 4。その内訳は頂点シェーダ24基,ピクセルシェーダ48基となる
OpenGL
 一方のNVIDIAは,これから搭載製品が登場予定の「Tegra 4」SoC(System-on-a-Chip)におけるOpenGL ES 3.0対応を見送った。さらにOpenCL対応も見送り,その代わりに,消費電力あたりの性能引き上げと,従来製品「Tegra 3」比で頂点シェーダ数,ピクセルシェーダ数をともに6倍へと引き上げることによる,絶対的なレンダリング性能の強化を施してきている。
 なので,NVIDIAのSoCがGPGPUに対応するのは,2014年の登場が予定されている次世代TegraたるLoganの登場を待たねばならない。ARMやImagination Technologiesが2013年の製品でGPGPU対応へ挑むのとは対照的である。

GTC 2013基調講演で公開された,Tegraのロードマップ
OpenGL

 業界関係者からは,Tegra 4のスペックを指して,「NVIDIAは守りに入った」という批判も寄せられている。しかしNVIDIAは,「今回のTegra 4で“溜め”を作った分だけ,次のLoganでOpenGL 4.3対応へとジャンプするのだ」と,むしろ鼻息が荒かったりする。
 OpenGL 4.3はOpenGL ES 3.0のスーパーセットなので,Loganは当然OpenGL ES 3.0にも対応することになる。さらに,LoganではCUDAへの対応も謳われているため,必然的にOpenCL対応も実現するわけだ。

 NVIDIAがこういう選択をした技術的な背景には,次世代TegraのLoganで,統合できるGPUコアが,現行のPC向けGPUと同じ「Kepler」世代のものへ切り替わるというのがある。
 もちろん,シェーダプロセッサ(=CUDA Core)の数は,PC向けGPUと比べて大幅に削減されるだろう。しかしKepler世代のGPUコアを統合するLoganならば,OpenGL ES 3.0ではサポートされていないジオメトリシェーダや,テッセレーションステージなどにも対応できることになる。

 つまりNVIDIAは「今年は堪え忍ぶ」ことに決め,2014年のLoganで,OpenGL ES 3.0対応のMaliやPowerVRを一気に引き離す腹づもりなのだ。


OpenGL ESはOpenGLに統合される!?


 だが,NVIDIAの「OpenGL ES 3.0をスキップする」という選択に対し,「長い目で見ると,業界の動向にはそれほど反していない」という意見もある。というのは,今回Khronosのセッションで公開されたロードマップには,「OpenGLとOpenGL ESの統合」の可能性が挙げられているからだ。

OpenGLとOpenGL ESのロードマップ。右端に描かれたOpenGL 4.3とOpenGL ES 3.0から,それぞれの「Next」につながる矢印がクロスしているのが,統合の検討を意味している
OpenGL

 Khronosではこれまで,「組み込み機器向けのグラフィックス性能が,デスクトップPCやワークステーションのグラフィックス性能と数世代分の格差がある」ことに配慮して,組み込み機器向けのスリムなOpenGLとしてのOpenGL ESを策定&提供してきた。
 しかし,2003年のOpenGL ES提供開始から約10年を迎えた現在,組み込み機器向けのGPUは,当初の予想以上に高機能化している。それこそLoganのように,OpenGL ESではなくフル版のOpenGLを使わないと,100%の機能を活用できないGPUまでが開発され,組み込み機器向けに提供されようとしているほどだ。

 そういう状況から,「今後もOpenGL ESを粛々と進化させていくべき」という意見とは別に,「OpenGL 4.3でOpenGL ES 3.0の機能を取り込み始めているのだから,このままOpenGLとOpenGL ESを統合してもいいのではないか」という意見も,Khronosの中で台頭しているというわけである。

 今回示されたロードマップは,「Khronos内で確定したものではなく,あくまで現時点でのグループ内の議論を模式化したものにすぎない」(Trevett氏)という。
 しかし逆に言えば,Loganは,2014年におけるKhronosのロードマップをいち早く掴んだSoCになるかもしれないのだ。この点は憶えておいても損はしないだろう。


新API「OpenVX」をアナウンス


 さて,今回のセッションではほかにも,Khronosが新しいAPIの策定を開始したことが報告された。その名は「OpenVX」。Intelが開発した「コンピュータビジョン」処理向けライブラリ「OpenCV」に近いものだ。

新API「OpenVX」はコンピュータビジョン用となる
OpenGL

 コンピュータビジョンとは,映像や音声,そのほかの電気信号をグラフィックス化したり計算したり,認識させたりするための処理系のこと。たとえば,温度を画像化する「サーモグラフィ」や,信号の周波数の登場頻度をグラフ化する「ヒストグラム」などは,コンピュータビジョンの代表例である。
 なぜそれをKhronosが規格化しようとしているのかというと,携帯情報機器や車載電子機器の分野で実用化が進むとされる,拡張現実アプリケーション向けに応用が期待されているためだそうだ。

OpenVXは拡張現実アプリケーション開発に有用な存在になるとのこと
OpenGL

 前述のOpenCVは,名前こそ似ているが,Khronosの策定するAPIとは無関係で,実質的にはコンピュータビジョン向けの実用ライブラリ集的な存在だと,Trevett氏は位置づけていた。一方,KhronosのOpenVXはハードウェアに近い存在であり,ライブラリよりも下層の,デバイスに近い領域の面倒を見るものになるという。

OpenGL
OpenVXのカバー領域
OpenGL
OpenVX規格策定に参加しているメーカー一覧。ソニー・コンピュータエンタテインメントの名前も見える

Khronos公式Webサイト(英語)

GPU Technology Conference公式Webサイト(英語)

  • 関連タイトル:

    OpenGL

  • 関連タイトル:

    Tegra

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
タイトル評価ランキング
81
KENGOHAZARD2 (PC)
76
Days Gone (PS4)
76
鬼ノ哭ク邦 (PC)
74
2019年04月〜2019年10月