The Khronos Group - Connecting Software to Silicon

クロノス・グループは、会員企業の会費によって運営される非営利団体です。その活動は、さまざまなプラットフォームやデバイス上で、ダイナミックなメディア・オーサリング/プレイバックを可能とする、オープンな業界標準APIの策定に照準を合わせています。すべての会員は、Khronos API仕様の開発に参画できるほか、一般公開前のさまざまな段階での投票、ドラフト仕様やコンフォーマンステストへのアーリーアクセスを通して、最先端 3Dグラフィックス・プラットーフォームやアプリケーションの開発やいち早く製品化に役立てることができます。

クロノス・グループ、SPIR 2.0の暫定仕様を公開

   2014年8月12日(北米時間2014年8月11日) ニュースリリース クロノス・グループ、SPIR 2.0の暫定仕様を公開 ヘテロジニアス・コンピューティング向けオープンでクロス・プラットフォーム対応インターメディエイト規格が、OpenCL 2.0デバイス・プログラムのコード化方式に対応 業界を代表するハードウェア・ソフトウェア企業各社から構成されたオープンなコンソーシアム「The Khronos™ Group」(代表:二ール・トレベット、以下:クロノス)は、SPIR™ 2.0の暫定仕様を承認し、公開したと発表しました。OpenCL™ 2.0デバイス・プログラムは「非ソース」コード化方式に対応し、バイナリ・レベルの可搬性も保ちます。SPIR (Standard Portable Intermediate Representation) は、クロス・プラットフォームに対応した業界初のオープンなインターメディエイト規格で、可搬性の高いヘテロジニアス並列コンピューティングを対象とし、LLVMのIR を基盤としています。SPIRには開発者にとっていくつか恩恵があり、機密にしたいカーネル・ソースを開示せずに済むほか、OpenCL C以外にも、Open CLのプラットフォームやデバイス向けに、さまざまな言語のフロント・エンドを容易に実装可能です。SPIRの仕様やレジストリは、ウェブ・ページ (https://www.khronos.org/registry/spir)で公開しています。 SPIRが開発されるまで、ヘテロジニアス・システム上の並列処理アクセラレーション機構にアクセスするツールや言語を開発するためには、各ベンダー独自のハードウェア・アーキテクチャーに応じて、コンパイラのバック・エンドを実装しなければならず、個別的で詳細な知識が必要でした。SPIR規格の公開により、各ベンダーはそれぞれのハードウェア上で、SPIR形式のバイナリが高速に動作するようにします。その結果、単体のアクセラレータ・ボード、チップ上のシステム、グラフィックス・プロセッサ、FPGAなど、さまざまなプラットフォーム上で動作するプログラムが、高レベル言語で記述できるようになりました。たとえばOpenACC、C++ AMP、Pythonの開発者は、SPIR形式のバイナリを生成するように実装するだけで、各ベンダーが最適化したバック・エンドを使って動作させることが可能です。 SPIRを採用すれば、可搬性の高い並列プログラムを開発するための、コンパイラ用ミドルウェアの豊富なエコシステムも、LLVMやOpenCLなどの強力な基盤上に構築できます。SPIR 2.0はLLVM 3.4 IRを特殊化したものですが、OpenCL特有のセマンティックも組み込んでいます。cl_khr_spirはOpenCL 1.2および2.0に対する標準のエクステンションで、SPIRのインスタンスからOpenCLのプログラム・オブジェクトを生成し、ランタイムにロードする方法を定義しています。SPIRの開発後、その有効性は複数のベンダーによるOpenCLの実装により検証されました。また、KhronosとLLVMやClangのコミュニティーとの間で交わされた協議プロセスも有意義なものでした。 SPIR 2.0の暫定仕様公開は、OpenCL開発者のコミュニティーに最終仕様の確定前にフィードバックをするために行いました。Khronosのフォーラム(https://www.khronos.org/opencl/spir2_0_feedback_forum)への投稿をお待ちしています。 OpenCL 2.0では、ホストとデバイスのカーネルが直接、ポインターで連結された複雑なデータ構造(木、リンク・リストなど)を共有できるので、非常に適応性の高いプログラミングが可能であり、ホストとデバイス間のコストがかかるデータ転送を削減できます。SPIR 2.0は、OpenCL C 2.0に組み込まれた、次のような新機能にも対応しています。 汎

    用アドレス空間:引数に対して名前つきアドレス空間を指定せずに、関数を記述できます。ある型を指すポインターとして宣言された引数の場合に、特に有用です。アプリケーションで用いる名前つきアドレス空間それぞれに対応して、いくつもの関数を記述する必要がありません。 デバイス側カーネルによるエンキュー:デバイス側のカーネルは、ホストの介入なしに、当該デバイス上のキューに作業を入れてスケジューリングできます。適応性の高い作業スケジューリング・パラダイムが実現され、デバイスとホスト間で実行制御や実行データをやり取りする必要がなくなるので、ホスト・プロセッサ側のボトルネックの軽減に貢献します。 C++11のアトミック:C11のアトミックや同期演算のサブセット。ある作業アイテムを可視状態にして、別の作業アイテムに代入できます。これは、ある作業グループ内あるいは異なる作業グループ上で実行でき、さらにこの機構により、OpenCLデバイスとホスト間でデータ共有することも可能です。 パイプ:データを格納するメモリー・オブジェクトで、FIFOで動作します。OpenCL 2.0には、パイプの読み書きをおこなう、カーネル用の組み込み関数があり
ます。OpenCLの実装者がパイプというデータ構造を高度に最適化して実装し、これを簡単にプログラムに組み込めるようにするのが目的です。 AMDでヘテロジニアス・アプリケーションおよび開発者ソリューション担当バイス・プレジデントを務めるManju Hegde氏はこうコメントしています。「私たちは、ヘテロジニアス・コンピューティングの可能性を充分に引き出すためには、OpenCL、SPIRが正しい取り組みであると考えており、AMDはこれからもOpenCL、SPIRなどといった業界標準への支援を継続します。SPIRが今後もOpenCL 2.0に対応して発展し、プラットフォームを改善し、ヘテロジニアス・システム用言語にさらなる革新をもたらすものと期待しています。SPIR 2.0は、業界が広く求める、非常に柔軟性の高い標準バイナリ形式の仕様です。コンパイラや言語のベンダーは、共通のクロス・プラットフォームを対象として、コードを生成するようになるでしょう。」 KhronosはSPIR以外にも、次に挙げるオープン・ソース・ソフトウェア・コンポーネントを開発し、LLVMやClangと同じライセンス方式で、Github経由で公開しています。 Op
    enCL Cによるカーネル言語デバイス・プログラムからSPIRを生成するよう改変したClang。 SPIRモジュール検証プログラム(LLVMパスの形式で記述)。 SPIR組み込み名のマングラー:スタンドアローンのライブラリーおよび実行形式ファイルとして記述:。 SPI
Rの仕様に現れるすべての列挙値の定義を記述したヘッダー・ファイル。 SPIR 1.2は、Clang/LLVM 3.2、SPIR 2.0はClang/LLVM 3.4をそれぞれ使っています。リソースの詳細は、ウェブ・サイト(https://github.com/KhronosGroup)から入手可能です。 Khronos Groupについて The Khronos Groupは、さまざまなプラットフォームやデバイス上で並列コンピューティング、グラフィックス、ビジョン、センサー・プロセッシング、ダイナミック・メディアのオーサリング及び高速化を可能とする、オープンな業界標準の仕様策定を行うコンソーシアムです。クロノスが仕様策定する業界標準にはOpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™, glTF™があります。クロノスの会員は各仕様の策定作業に参画し、一般公開前のさまざまな過程で仕様策定に関する投票を行うことができるほか、仕様のドラフトへのアーリーアクセスならびにコンフォーマンス・テストを通して、自身のプラットフォームやアプリケーション開発の期間短縮や機能強化に役立てることができます。詳細情報はWebサイトで公開されています(www.khronos.org)。 ### Khronos, DevU, StreamInput, SPIR, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, glTF, OpenSL ES and OpenMAX are trademarks of the Khronos Group Inc. ASTC is a trademark of ARM Holdings PLC, OpenCL is a trademark of Apple Inc. and OpenGL is a registered trademark and the OpenGL ES and OpenGL SC logos are trademarks of Silicon Graphics International used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners. end   詳しく

クロノス・グループ、OpenGLエコシステムの確実な前進を発表

   2014年8月12日(北米時間2014年8月11日) ニュースリリース クロノス・グループ、OpenGLエコシステムの確実な前進を発表 業界トップ企業各社がOpenGL ES, OpenGL及びWebGLの最新バージョンを採用するとともに、クロノスは次世代グラフィックス標準策定を開始 業界を代表するハードウェア・ソフトウェア企業各社から構成されたオープンなコンソーシアム「The Khronos™ Group」(代表:二ール・トレベット、以下:クロノス)は、毎年200億個以上販売されているモバイル機器やPCに先進のビジュアル機能をもたらすOpenGL® 3D標準ファミリへの業界支援が広がり続けていると発表しました。OpenGL、OpenGL ES™ 及びWebGL™は、アンドロイド、iOS、Linux、OS X、Windows及びWebを含むさまざまなプラットフォーム上で、グラフィックス及びコンピュート技術への容易なアクセスを可能とする、世界で最も広範囲で採用されているAPIです。 OpenGL ES 3.1コンフォーマント・インプリメンテーション 2014年7月、ARM、イマジネーション・テクノロジーズ、インテル、NVIDIA及びVivanteを含む業界大手GPUベンダーによって、OpenGL ES最新バージョンの完全なコンフォーマンス・テストが完了しました。クヮルコム及びそのほか2社からのコンフォーマンス・テストは現在評価中です。2014年3月に発表されたOpenGL ES 3.1は、モバイル機器向けに最適な標準機能であるGPUコンピュート・シェーダーを含む、デスクトップOpenGLに最も求められている機能を有しています。クロノスは2014年6月、クロス・ベンダー・オペレーションに対する信頼性を保障する広範囲にわたるコンフォーマンス・テストを含む、OpenGL ES 3.1のアドプター・プログラムを開始しました。より詳細な情報はクロノスのWebサイトをご参照ください。https://www.khronos.org/conformance/adopters/conformant-products#opengles. アンドロイドLがAEPと共にOpenGL ES 3.1を採用 2014年6月に行われたGoogle IOで、グーグルはAndroid Extension Pack (AEP)と共に、Android L Developer PreviewにおけるOpenGL ES 3.1へのサポートを発表しました。AEPはデスクトップ・クラスのグラフィックス機能をアンドロイドに提供し、ゲームにテセレーションやジオメトリ・シェーダーを可能とすると共に、ASTCテクスチャ・コンプレッションを可能とするOpenGL ESの新たなエクステンション・セットです。AEPに関する詳細情報はこちらをご参照ください。https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt 広く普及するWebGL WebGLは強力なGPUをHTML5につなげます。さまざまなWeb標準でも数多くのブラウザ上で使用でき、商業的に広く普及するプラットフォームを提供する鍵を握っています。Chrome、Firefox、Safari、Internet Explorerを含む今日の主流なデスクトップ・ブラウザはWebGLをサポートし、大手モバイル・ブラウザに対するWebGLへのサポートは急速に広がっています。WebGLは業界で初めて、すべての重要なデスクトップ及びモバイル・プラットフォーム上で、ポーティング作業の負荷なく高性能3Dアプリケーションの作成を可能としました。詳細はこちらをご参照ください。https://www.khronos.org/webgl/ OpenGL 4.5を発表 クロノスが本日発表したOpenGL 4.5は、後方互換性を完全に保持しながら、アプリケーションに新機能を使用可能とする、業界で最も先進的な3DグラフィックスAPIであり、新バージョンには最新の機能が追加されました。すべての機能と詳細資料は、クロノスのWebサイト(https://www.opengl.org/registry)からダウンロード入手いただけます。OpenGL 4.5の主な新機能は次のとおりです。 ダイレクト

    ・ステート・アクセス(DSA):オブジェクトへのアクセス者が、増加したアプリケーションやミドルウェアの効率・柔軟性のためにオブジェクトをコンテクストにバインドすることなく、状態を照会及び修正可能とする。 フラッシュ・コントロール:アプリケーションがコンテクストを変更する前に、ペンディングしたコマンドのフラッシュを管理可能とし、高性能なマルチスレッド・アプリケーションを可能とする。 ロバスト性:GPUのリセットが、WebGLブラウザのような動作中の他のアプリケーションに影響を及ぼさないために、安定したプラットフォームを提供。 OpenGL ES 3.1とシェーダーの互換性:デスクトップ・システム上で最新のOpenGL ESアプリケーション開発と実行が可能。 DX11エミュレ
ーション機能:OpenGLとDirect3D間のアプリケーションの容易なポーティングを実現。 OpenGLに関するフィードバックを、フォーラムで受け付けています(https://www.opengl.org/discussion_boards/)。 次世代OpenGLイニシアティブ:参加の呼びかけ クロノスは、今日のGPU上でグラフィックス及びコンピュートへのより効果的なアクセスを実現するために、将来のオープンな業界標準を定義するプロジェクトへの参加を呼びかけています。この新たなイニシアティブの重要な決定事項には、オーバーヘッドの大幅な削減、シェーダー・プログラム・インターミディエート言語、コンフォーマンス・テストを含むエコシステムに焦点をあてたパフォーマンス、予測可能性、マルチスレッドへの親和性が高いAPI向けのGPU及びCPUのワークロード上での明確なアプリケーション管理を含みます。タスクフォースは活動を開始しており、最初のプロポーザルは検討段階にありますが、クロノスはこのプロジェクトに関心あるあらゆる企業の参加を呼びかけています(http://www.khronos.org/members/join)。 クロノスBOS:OpenGL/OpenGL ES開催 クロノスは、SIGGRAPH 2014会期中の8月13日(水)に、OpenGL及びOpenGL ES BOSを開催し、OpenGLエコシステム開発に関する詳細情報をご紹介します。(時間:5~7pm、会場:マリオット・ピナクル・ホテル)。SIGGRAPHの参加者はどなたでも無料でご参加いただけます。イベント詳細はクロノスWebサイトでご確認ください(https://www.khronos.org/siggraph14)。 Khronos Groupについて The Khronos Groupは、さまざまなプラットフォームやデバイス上で並列コンピューティング、グラフィックス、ビジョン、センサー・プロセッシング、ダイナミック・メディアのオーサリング及び高速化を可能とする、オープンな業界標準の仕様策定を行うコンソーシアムです。クロノスが仕様策定する業界標準にはOpenGL®, OpenGL® ES, WebGL™, OpenCL™, SPIR™, SYCL™, WebCL™, OpenVX™, OpenMAX™, OpenVG™, OpenSL ES™, StreamInput™, COLLADA™, glTF™があります。クロノスの会員は各仕様の策定作業に参画し、一般公開前のさまざまな過程で仕様策定に関する投票を行うことができるほか、仕様のドラフトへのアーリーアクセスならびにコンフォーマンス・テストを通して、自身のプラットフォームやアプリケーション開発の期間短縮や機能強化に役立てることができます。詳細情報はWebサイトで公開されています(www.khronos.org)。 ### Khronos, DevU, StreamInput, SPIR, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, glTF, OpenSL ES and OpenMAX are trademarks of the Khronos Group Inc. ASTC is a trademark of ARM Holdings PLC, OpenCL is a trademark of Apple Inc. and OpenGL is a registered trademark and the OpenGL ES and OpenGL SC logos are trademarks of Silicon Graphics International used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners. end   詳しく