この記事は、Intel Newsroom に公開されている「Intel’s ‘One API’ Project Delivers Unified Programming Model Across Diverse Architectures」(https://newsroom.intel.com/news/intels-one-api-project-delivers-unified-programming-model-across-diverse-architectures/#gs.w6h4ik) の日本語参考訳です。
最新情報: 2019 年 6 月にロンドンで開催されたインテルの Software Technology Day において、インテルのエンジニアリング・リーダーは、インテルのソフトウェア・プロジェクト「One API」の最新情報を発表しました。One API は、さまざまなコンピューティング・アーキテクチャーにおいてアプリケーション開発を容易にする統合プログラミング・モデルを提供します。
「One API は、多様なアーキテクチャーにわたってワークロードの開発を簡素化できるように統合プログラミング・モデルを提供する開発ツールのセットです。コンピューティング環境が専用のアクセラレーターを包括するように拡大しています。インテルは開発者がハードウェアから最大限のパフォーマンスを引き出すことを可能にするソフトウェア・ソリューションを提供します。」
– インテル・コーポレーション
副社長、兼コンピュート・パフォーマンス開発製品事業部本部長
Bill Savage
重要性: 世界的にデータ中心のワークロードが多様化するにつれて、そのデータを処理するアーキテクチャーも多様化しています。インテルの幅広いアーキテクチャーは、スカラー (CPU)、ベクトル (GPU)、行列 (AI)、空間 (FPGA) におよびます。これらのアーキテクチャーは SVMS と呼ばれ、パフォーマンスを達成するには効率良いソフトウェア・プログラミング・モデルが必要です。One API により、個別のコードベース、複数のプログラミング言語、および各種ツールとワークフローを維持する必要がなくなり、使い易さとパフォーマンスがもたらされます。
そのようなクロスアーキテクチャー機能の提供例として、OpenVINO™ ツールキットがあります。OpenVINO™ ツールキットは、インテルの SVMS アーキテクチャー全体で、一貫した、最適化されたディープラーニング推論機能を提供するソフトウェア開発キットです。
どのように動作するか: One API は、ダイレクト・プログラミングと API プログラミングをサポートし、CPU、GPU、FPGA、AI アクセラレーターなど、さまざまなハードウェアで完全なネイティブ・コード・パフォーマンスを実現する統合言語とライブラリーを提供します。
- ダイレクト・プログラミング: One API には、新しいダイレクト・プログラミング言語である Data Parallel C++ (DPC++) が含まれます。これは、単一アーキテクチャーの独自言語に代わる、オープンで業界を超えた言語です。DPC++ は、開発者が使い慣れたプログラミング・モデルを使用して、並列パフォーマンスの生産性とパフォーマンスを達成します。DPC++ は C++ をベースとしており、Khronos* Group の SYCL* を組込み、オープン・コミュニティーによって開発された言語拡張機能を備えています。
- API ベースのプログラミング: One API の強力なライブラリーは、高速化により恩恵を受ける各種ワークロードのドメインを網羅しています。ライブラリー関数は、ターゲット・アーキテクチャーごとにコーディングされています。
- 解析とデバッグツール: インテルは、先進の解析ツールをベースとして、DPC++ および SVMS アーキテクチャー全体をサポートする拡張バージョンの解析およびデバッグツールを提供します。
今後の動向: インテルは 2019 年第 4 四半期に、開発者向けのベータ版と One API プロジェクトの詳細を公開する予定です。