クロノス・グループ OpenCL™ 2.2およびSPIR-V 1.2を同時発表

OpenCLの完全仕様およびコンフォーマンス・テストをオープン・ソースに置いたOpenCL™ 2.2最終版公開に向け、市場のフィードバックを反映

世界有数のハードウェアおよびソフトウェア企業からなるオープンコンソーシアムのKhronos™ Group(以下、クロノス)は、仕様レビュー期間中にデベロッパーからの意見を取り入れた、即時利用可能な「OpenCL™ 2.2」を発表しました。クロノスとしては初めて、完成版としての仕様公開のみならずOpenCL™ 2.2の仕様及びコンフォーマンス・テストの完全版ソース・コードを、コミュニティの関与を深めるためにGitHubにて公開しました。OpenCL™ 1.2/2.0/2.1のコンフォーマンス・テストもGitHub上で公開され、クロノスは今後も同様のオープン・ソース公開を進めます。 

OpenCL™ 2.2には、デベロッパーからの要望が最も高かった、並列プログラミングの生産性を大幅に高めるための、OpenCL C++言語による新規カーネルが組み込まれています。また、クロノスはOpenCL™ 2.2公開と同時に、OpenCL C++カーネル言語をクロノスが定義した中間言語に完全対応させる、SPIR-V 1.2も公開しました。OpenCL™ 2.2の完成により、SYCL 2.2に対する補完も強化され、OpenCL™ 2.2をシングルソースのC++プログラミング活用に用いることができます。

クロノスの代表で、OpenCLワーキング・グループのチェアを兼任するNeil Trevettは、次のように述べています。「OpenCL 2.2の完成により、クロノスはC++をOpenCL規格の第1級言語とする約束を果たしました。これにより、OpenCLのワーキング・グループは引き続きSYCLに取り組み、シングルソースのC++並列プログラミングの力をISO C++規格に収束させ、組込み系コンピュータ・ビジョン及び推論機能等、さらなるOpenCLの新規市場や市場機会の開拓に取り組むことができます。また、クロノスのVulkan APIへの収束や活用にも取り組んでおり、高度なグラフィックスと演算処理を単独のAPIに統合する動きも進んでいます。」

クロノスは、トロント大学Fields Institute(カナダ、トロント)の後援で開催されたIWOCL 2017 Conferenceにおいて、これらの新機能を発表しました。このカンファレンスでは、チュートリアル4編、19種のテクニカル・セッション、クロノスによるパネル・ディスカッション、ポスター展示、デモ展示、夕食会、交流イベント等が参加者に提供されました。IWOCLには、クロノスおよびクロノス会員の各企業が主要協賛社となっています。OpenCL™ 2.2およびSPIR-V 1.2の新規仕様は、www.khronos.orgにて公開しています。

OpenCL™ 2.2について

OpenCL™ 2.2では、OpenCL C++カーネル言語をC++14標準規格の静的サブセットとして定義しています。OpenCL C++には、クラス、テンプレート、ラムダ式表現、関数多重定義等、数々のコンストラクタが含まれており、ジェネリックプログラミングおよびメタプログラミングを使った並列プログラミングの生産性を高めています。

OpenCL™ライブラリー関数もC++言語の利点を活用することができるようになり、アトミック、イテレータ、画像、サンプラー、パイプ、デバイス・キューの組込み型とアドレス空間等の機能を使えるほか、安全性の向上と未定義動作の削減も同時に実現しています。

パイプ・ストレージはOpenCL™ 2.2で採用されたデバイスサイドの型で、コンパイル時に接続のサイズと型を既知とすることでカーネル間の効率的なデバイス・スコープ通信が可能となり、FPGAの実装に有用です。 

また、OpenCL™ 2.2には生成コードの最適化を向上させる機能も含まれています。 特化定数の値を、SPIR-Vコンパイル時にアプリケーション側から指定、 新規のクエリーによってプログラム・スコープ・グローバル・オブジェクトの非自明なコンストラクタおよびデストラクタを検知、ユーザー・コールバックのプログラム・リリース時での設定等が可能です。

SPIR-V 1.2について

SPIR-V(Standard Portable Intermediate Representation)は、並列演算とグラフィックスのネイティブ表現用クロスAPI中間言語として、はじめてのオープン規格です。SPIR-V 1.2では、OpenCL C++カーネル言語の対応に加え、ワークグループ・サイズ等の、OpenCL™ 2.2の主要チューニング・パラメータの実行カスタマイズへの対応も加わりました。

SYCL 2.2について

SYCLの採用により、OpenCL™対応端末におけるC++言語ソフトウェアの高速化を容易に開発できます。SYCLは、アクセラレータの効率的使用のための複雑な深層学習グラフを可能にする、シングルソース型のプログラミング様式に合致していることから、人工知能のフレームワーク各種に使われています。SYCL 2.2では、SYCLの仕様にOpenCL™ 2.2の機能が加わっています。

クロノスが主催するオープン・ソース型SYCL向けC++ 17並列STL(C++ 17 Parallel STL for SYCL)により、次のC++標準規格を共有仮想メモリ、ジェネリックポインタ、デバイスサイドキュー等のOpenCL™ 2.2機能に対応させることができます。

OpenCL C++およびSYCLが利用可能となることで、デベロッパーは2種類のC++から選択できるようになります。デバイス・サイド・カーネルのソース・コードとホストコードを分離したい場合には、C++カーネル言語が最適な選択です。これが現在OpenCL Cで用いられ、グラフィックス・ソフトウェアのシェーダーに幅広く採用されている手法です。SYCL、OpenMP、 C++ 17 Parallel STLで採用されているもうひとつの手法が、一般的に「シングルソース」C++と呼ばれている手法です。SYCLとC++カーネル言語双方の仕様を定めることで、クロノスはデベロッパーに対して最大限の選択肢を提供すると同時に、プログラムコードがこれらふたつの補完的手法で簡単に共有できるよう、2種類の仕様を整理しました。

OpenCL™ 2.2に対する業界サポート

Imagination Technologies社でシニア・ディレクターを務めるGraham Connor氏: 「Imagination Technologiesは、ヘテロジニアス処理およびGPU演算に関する標準規格化の推進に力を入れています。業界が継続的にGPU演算プログラミングモデルの改良に取り組むことが重要であり、クロノスはこうした取り組みに関し、引き続きOpenCL 2.2およびSPIR-V 1.2の普及に努めることで中心的な役割を担っています。当社の顧客からは、常にGPUの演算能力強化が要望されており、新たに発表したPowerVRシリーズ8XTコアは、当社GPUの使用実例拡大のためにOpenCL 2.2に対応しています。」

StreamHPC社創設者でマネージング・ディレクターを務めるVincent Hindriksen氏: 「OpenCL規格にOpenCL C++言語が組み込まれたことを、大変喜ばしく思います。これは優れた成果であり、OpenCLが演算処理に継続的に使えることを世に示しました。OpenCL 2.2のコンフォーマンス・テストの開発作業と、OpenCL C++仕様の完成に対する貢献を果たした当社は現在、OpenCL 2.2を使った最初のプロジェクトや新規のカーネル言語への取り組みを開始しています。社員たちは、OpenCL Cに代わってOpenCL C++を使うことで、ソフトウェア品質の向上やメンテナンス作業の軽減、市場投入期間の短縮が可能になると確信しています。また、SPIR-Vによってコンパイラのエコシステムに明らかな好影響がもたらされ、複数の新規OpenCLカーネル言語が誕生することを期待しています。」

ウィンザー大学コンピュータサイエンス学部のRobert Kent氏: 「ウィンザー大学は、自動車技術の研究面とヘテロジニアス・コンピューティング面におけるOpenCLの活用に積極的に関与してきました。また、プログラミング目的の達成に向けたソフトウェアのビルドやテストの枠組みの開発も手掛けています。今後もアカデミック会員としてクロノスに参画することを決めており、IWOCL 2017では組織を挙げて支援できたことを誇りに感じています。」

YetiWare社創設者のAJ Guillon氏: 「機械学習にとって極めて重要な技術の両輪であるOpenCL C++およびSPIR-Vが、AIの世界的注目都市であるここトロントにて発表されたことは、理想的なことです。カナダ人の新興テクノロジー系起業家として、素晴らしい業界リーダーたちとも連携し、クロノスにおいてこれらのテクノロジー開発に対して自身が担った役割のみならず、IWOCLイベントをカナダで開催できたことを誇りに感じています。OpenCLを知らないと、テクノロジーの急成長に乗り遅れるリスクを冒すことになります。」

クロノスに関して詳しくは、www.khronos.orgをご覧ください。

Khronos Group(クロノス・グループ)について

The Khronos Groupは、さまざまなプラットフォームやデバイス上で並列コンピューティング、グラフィックス、ビジョン、センサー・プロセッシング、ダイナミック・メディアのオーサリング及び高速化を可能とする、オープンな業界標準の仕様策定を行うコンソーシアムです。クロノスが仕様策定する業界標準にはVulkan®、OpenGL®、OpenGL® ES、OpenGL® SC、WebGL™、SPIR-V™、OpenCL™、SYCL™、OpenVX™、NNEF™、COLLADA™、OpenXR™、glTF™などがあります。クロノスの会員は各仕様の策定作業に参画し、一般公開前のさまざまな過程で仕様策定に関する投票を行うことができるほか、仕様のドラフトへのアーリーアクセスならびにコンフォーマンス・テストを通して、自身のプラットフォームやアプリケーション開発の期間短縮や機能強化に役立てることができます。詳細情報はWebサイトで公開されています(www.khronos.org)。

###

Vulkan is a registered trademark of The Khronos Group. Khronos, OpenXR, DevU, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenKCAM, StreamInput, OpenWF, OpenSL ES, NNEF and OpenMAX are trademarks of the Khronos Group Inc. 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.

クロノス・グループ、クロス・プラットフォームにおける高電力効率コンピュータ・ビジョン処理の高速化向けを可能とする「OpenVX 1.2」を発表

ニューラル・ネットワークの高速化、特徴検出、イメージ・クラシフィケーション、条件付きグラフ理論処理等の新機能追加と共に、セーフティ・クリティカ・システム上でのコンピュータ・ビジョン高速化に向けたOpenVX SCを初公開 

2017年5月1日(米国時間)、世界有数のハードウェアおよびソフトウェア企業からなるオープン・コンソーシアムのKhronos™ Group(以下、クロノス)は、クロス・プラットフォームのコンピュータ・ビジョン・アプリケーションおよびライブラリの高速化に向けた、即時利用可能な「OpenV™ 1.2」を発表しました。OpenVXは、リアルタイムのモバイルおよび組込みプラットフォームを対象とした、高抽象度のグラフ理論型APIです。このオープンソースのクロス・プラットフォーム対応ロイヤルティ・フリー標準規格により、顔・体・ジェスチャのトラッキングや高度な映像監視、自動運転支援システム、目視検査、ロボティクス等のコンピュータ・ビジョン・アプリケーションにおいて、高度な性能移植性と消費電力の最適化が実現します。OpenVX 1.2は、条件付き実行や特徴検出、クラシフィケーション等、演算機能が大幅に拡張されています。

また、OpenVX 1.2本体と同時公開された3つのエクステンション仕様により、検証・最適化済みグラフのインポート・エクスポート、16ビット画像処理、ニューラル・ネットワークとのインターフェース高速化が可能です。インポート・エクスポート拡張仕様では、オフラインでのグラフの「コンパイル」やその保存と「エクスポート」、実行時の効率的な「インポート」と最終的な実行をユーザー側で行うことができます。16ビット拡張仕様では、ほとんどの画像処理操作で符号化16ビット画像データに対応しています。ニューラル・ネットワーク拡張仕様では、コンボリューション、デコンボリューション、アクティベーション、正規化、プーリング、ソフトマックス等、ニューラル・ネットワークの各共有オペレーションレイヤに対応するOpenVXグラフノードを採用し、物体検出・認識等のニューラル・ネットワーク型アルゴリズムの計算式を低消費電力で高速化できます。

OpenVXは、ビジョン処理の実行とメモリモデルを、各オペレーションのグラフとして抽象化します。これによる抽象度は、OpenCL等の汎用的演算処理規格よりもはるかに高くなります。これにより、実装の大幅な先進化とさまざまなアーキテクチャでの効率的な演算実行に加え、コンピュータ・ビジョンのアプリケーション開発における性能移植性とAPIサーフェスの一貫性を両立することができます。OpenVXの高い柔軟性により、バッテリー依存性が非常に強いコンピュータ・ビジョン型のウェアラブル端末用ディスプレイなど、さまざまな電力・性能レベルに合わせて最適化された、多様なシステム上でのアプリケーション実行が可能になります。OpenVX 1.2で大幅に拡張されるOpenVXコンピュータ・ビジョン演算子およびグラフの機能には、以下が含まれます。

  • 物体検出・認識のための特徴検出
  • 特徴セットに基づく物体検出・認識用クラシフィケーション演算
  • 画像処理演算機能の強化
  • OpenVXグラフの複雑な演算の数式化に際し、その管理と柔軟性を大幅に拡張する条件付きノード実行

先進運転支援システム(ADAS)や自動運転車、医療やプロセス制御用アプリケーションをはじめ、新たに創出されるセーフティ・クリティカル市場の多くにおいて、ビジョン処理は必須要素になると予想されます。クロノスは、セーフティ・クリティカルなシステムを対象とし、上記の高信頼性市場における厳しい要件に対応できる高効率システムの認定を支援するため、OpenVX 1.1仕様の改訂版となるOpenVX SC 1.1を発表しました。OpenVX SCは、実行時専用の「デプロイメント機能セット」の定義用にインポート・エクスポート拡張を活用しています。開発者の方はグラフ構築機能および開発ツールのフルセットを使用して、アプリケーションの実装、検証、コンパイル、検証済みグラフのバイナリ形式エクスポートが可能です。エクスポートされたバイナリ形式の読み取りとコンパイル済みグラフを実行することで、この制限付き「デプロイメント」実装が対象ハードウェア上で実行されます。

サンタ・クララで開催中のEmbedded Vision Summitにおいて、米国時間5月1日(月)の午後2:30より3:00まで、クロノスOpenVXワーキンググループ議長のFrank Brillが「The OpenVX Computer Vision Library Standard for Portable, Efficient Code」と題した講演を行います。Embedded Vision Summitでの講演内容の詳細は、https://www.embedded-vision.com/summit/openvx-computer-vision-library-standard-portable-efficient-codeでご覧いただけます。

また、同じく5月3日(水)の午前9:00から午後5:00まで、クロノスは「OpenVX Workshop for Neural Network Acceleration」を開催します。内容には、特徴追跡用コンピュータビジョンアルゴリズムおよびグラフAPIへのニューラルネットワークマッピングに関する新カリキュラムが含まれています。出席者には懇切丁寧な双方向セッションをご用意しています。登録は自由で、https://www.embedded-vision.com/summit/khronos-openvx-workshopにて受け付けています。

OpenVX仕様の詳細および関連する「アダプター会員プログラム」については、www.khronos.org/openvxにてご確認いただけます。

OpenVX 1.2に対する業界サポート

AMD社Radeonテクノロジー・グループ、Radeonオープン・コンピュート部門シニア・ディレクターのGreg Stoner氏

「コンピュータ・ビジョン・アプリケーションは、さまざまな科学・消費者分野においてその重要性が日増しに高まっています。AMDは、演算処理高速化を実現するOpenVX仕様へのクロノスの取り組みや、これらオープンソースのロイヤルティ・フリー標準規格の提供に対する継続的支援に対し、惜しみない称賛を送りします。これらの標準規格をAMDが提供する無償のオープンソース型深層学習ライブラリ「MIOpen」と共用することにより、マシンインテリジェンスの実装を高速化するリッチな基盤が構築されます。」

Cadence社Tensilicaマーケティング部門シニア・グループ・ディレクターのSteve Roddy氏

「Cadenceは、OpenVX規格策定に積極的に参加している賛助会員の1社です。ニューラル・ネットワークの物体認識機能および、中核をなす画像処理機能双方の方向付けとなるOpenVX拡張仕様が実現できたことを大変うれしく思います。これらの新機能を通じ、OpenVXは組込みシステムにおけるすべてのコンピュータ・ビジョン系演算に向けた、力強いプラットフォームを提供します。『Cadence® Tensilica® Vision PシリーズDSP』は、OpenVX 1.1の実装製品として最初に適合認定を受けた製品です。引き続き、新規OpenVX 1.2規格の実装化を計画しています。」

Imagination Technologies社PowerVR製品・技術マーケティング担当シニア・ディレクターのChris Longstaff氏

「OpenVXは、実世界におけるビジョン・アプリケーションの搭載に必要なフレームワークになりつつあります。当社は、PowerVR及びビジョン技術全般で、CNNエクステンションを含むOpenVXをサポートしています。私たちはデベロッパが、革新的なビジョン・アプリケーションのインプリメンテーションを、迅速かつ容易に可能とする、テンサー・サポート、ニューラル・ネットワーク・エクステンション、並びにグラフィックス最適化を含むビジョン・プロセッシング向けに拡張された機能を有する、OpenVX 1.2の発表を歓迎していると思います。」

Texas Instruments社ADASプロセッサ担当プロダクトライン・マネージャのAlan Rankin氏

「Texas Instrumentsは、OpenVXに対するサポートと、車載市場向けに先端運転支援システム(ADAS)や自動運転のアプリケーションを開発中のお客様に対するメリットを、改めて強調いたします。TI Driver Assist(TDAx)SoC等、マルチコア型ヘテロジニアスアーキテクチャ上で組込みADASアプリケーションを開発中のお客様が、簡単に使えるプラットフォームを提供するという継続的取り組みの一環として、ほどなく当社のVision SDKのOpenVX適合試験が実施されます。」

VeriSilicon社取締役副社長兼最高戦略責任者のWeijin Dai氏

「VeriSiliconは、当社のVision Image Processor(VIP)IPや当社提携先が提供するソリューションにおいて、独自のハードウェア機能を拡張できる15以上の新規標準カーネルが搭載された、標準規格としてのOpenVXを歓迎します。OpenVX 1.2は、当社VIP製品ラインが持つ最適化されたハードウェア、完全プログラマブルなコンピュータ・ビジョン機能、最適化されたニューラル・ネットワーク機能など、これらの堅牢な組み合わせを標準化するための重要なマイルストーンです。VIPは2015年にライセンス供与を開始し、現在ではADASやセキュリティクライアント、産業用コンピュータ・ビジョン向けの各種市販半導体組込みアプリケーションに搭載されています。クロノスのプロモーター会員である当社は、OpenVXが組込み系コンピュータ・ビジョンという画期的テクノロジーの最重要実現要因であると確信しています。VeriSiliconがOpenVX 1.2仕様のエディターに選出されたことは光栄であり、この仕様が世界的に採用されることに大きな期待を寄せています。当社はパートナー各社との共催により 、5月3日、Embedded Vision Summitサンタ・クララ・コンベンションセンターにて最先端の実用的アプリケーションにテーマを絞った一連のワークショップを主催します。ここでは特に、OpenVX 1.2の能力と有望性に焦点を当てます。」

Khronos Group(クロノス・グループ)について

The Khronos Groupは、さまざまなプラットフォームやデバイス上で並列コンピューティング、グラフィックス、ビジョン、センサー・プロセッシング、ダイナミック・メディアのオーサリング及び高速化を可能とする、オープンな業界標準の仕様策定を行うコンソーシアムです。クロノスが仕様策定する業界標準にはVulkan®、OpenGL®、OpenGL® ES、OpenGL® SC、WebGL™、SPIR-V™、OpenCL™、SYCL™、OpenVX™、NNEF™、COLLADA™、OpenXR™、glTF™などがあります。クロノスの会員は各仕様の策定作業に参画し、一般公開前のさまざまな過程で仕様策定に関する投票を行うことができるほか、仕様のドラフトへのアーリーアクセスならびにコンフォーマンス・テストを通して、自身のプラットフォームやアプリケーション開発の期間短縮や機能強化に役立てることができます。詳細情報はWebサイトで公開されています(www.khronos.org)。

###

Vulkan is a registered trademark of The Khronos Group. Khronos, OpenXR, DevU, SPIR, SPIR-V, SYCL, WebGL, WebCL, COLLADA, OpenKODE, OpenVG, OpenVX, EGL, glTF, OpenKCAM, StreamInput, OpenWF, OpenSL ES, NNEF and OpenMAX are trademarks of the Khronos Group Inc. 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.