ファクトシート: oneAPI

同カテゴリーの次の記事

インテル® oneAPI Developer Program に参加する

この記事は、インテル ニュースルームに公開されている「Fact Sheet: oneAPI」の日本語参考訳です。


この記事の PDF 版はこちらからご利用になれます。

oneAPI とは?

oneAPI は、CPU、GPU、FPGA、およびアクセラレーターなど、多様なアーキテクチャーにわたる開発を簡素化することを目的とした統合プログラミング・モデルです。oneAPI は業界のイニシアチブとインテルのベータ製品の 2 つのコンポーネントで構成されており、どちらもこれからの長い道のりの最初の一歩を踏み出したばかりです。

  • oneAPI イニシアチブのクロスアーキテクチャー開発モデルは、業界標準に基づくオープン仕様で、アプリケーション開発の次の進化を形成するテクノロジーの広範なエコシステムの採用を可能にします。
  • インテル® oneAPI ベータ製品はインテルの oneAPI 実装であり、ダイレクト・プログラミング (データ並列 C++) に対応した oneAPI 仕様コンポーネント、パフォーマンス・ライブラリー群を利用する API ベースのプログラミング、高度な解析およびデバッグツール、その他のコンポーネントが含まれます。開発者は、oneAPI 向けのインテル® DevCloud を利用して、インテル® Xeon® スケーラブル・プロセッサー、グラフィックス内蔵インテル® Core™ プロセッサー、インテル® FPGA (インテル® Arria® FPGA、インテル® Stratix® FPGA) を含む、今日の多様なインテル® アーキテクチャー上でコードとワークロードを試すことができます。開発者のグローバル・エコシステムに既存のコードとスキルから次の XPU 時代への架け橋を提供するため、インテルのエンジニア達はこのソフトウェアの開発に数百万時間を費やしました。

インテル® oneAPI の情報
oneAPI の重要性

インテル® oneAPI は、AI がさらに浸透し、ヘテロジニアス化とマルチアーキテクチャー化が進む世界において、プログラミングを定義しリードする「ソフトウェア・ファースト」戦略に対するインテルのコミットメントを表しています。

多様なアーキテクチャー (CPU、GPU、FPGA、およびその他のアクセラレーター) 向けにプログラムできることは、将来の標準となる複数のアーキテクチャーを必要とするデータセントリックのワークロードをサポートする上で重要です。現在、各ハードウェア・プラットフォームでは、異なる言語、ライブラリー、ソフトウェア・ツールを使用してプログラムされた個別のコードベースを維持しなければならないのが一般的です。これは複雑で開発者は多くの時間を取られるため、アクセラレーションとイノベーションを遅らせます。

インテル® oneAPI は、個別のコードベース、複数のプログラミング言語、異なるツールとワークフローの複雑さを排除して、パフォーマンスを損なうことなく、開発者の選択したアーキテクチャーで統合されたオープンなプログラミング体験を提供することで、この課題に対応します。これにより開発者は、シングルベンダー・アーキテクチャーに基づく今日のクローズド・プログラミング環境に代わる魅力的で最新の代替手段を使用して、既存のソフトウェア投資を維持しつつ、将来のマルチアーキテクチャー向けに多用途のアプリケーションを作成できます。

インテルがこの課題に取り組む理由

インテルは、20 年以上にわたって開発者エコシステムに深くかかわってきました。インテルには 15,000 を超えるソフトウェア・エンジニアがおり、10,000 以上の顧客へのソフトウェア展開の実績があります。さらに、Linux* カーネルの最大の貢献者であり、毎年 50 万行を超えるコード変更と 100 以上のオペレーティング・システム向けに最適化を行っており、2000 万人を超える活気ある開発者エコシステムを擁しています。これらは、インテルのほんの一面にすぎません。

インフラストラクチャー、ネットワークとオペレーティング・システム、ツールと SDK、数々の標準化団体への影響など、インテルの取り組みは多岐にわたり、業界でほかに類を見ないものです。インテルはこの専門知識を活かし、数百万のソフトウェア開発時間を投じて、開発を民主化する統合プログラミング・モデルを作成することで、開発者が直面する課題に取り組みました。このモデルは、移植性、生産性、パフォーマンス・ゲインを高めることで、今日では困難なものを容易にします。

オープン仕様とは?

インテルには数十年にわたり、ISO C++/Fortran グループ、OpenMP* ARB、MPI フォーラム、The Khronos Group など、標準化団体や業界/学会のイニシアチブと協力して、相互運用性と互換性を実現するためオープンで協調的なプロセスを通じて仕様を作成および定義してきた実績があります。oneAPI プロジェクトは、インテルがこれまでに行ってきた取り組みの継続です。oneAPI は、既存の業界標準をサポートし相互運用可能です。最新の oneAPI 仕様は、oneAPI イニシアチブのサイト (英語) を参照してください。

oneAPI オープン仕様に含まれるもの

オープン仕様には、クロスアーキテクチャー言語であるダイレクト・プログラミング向けデータ並列 C++ (DPC++)、API ベース・プログラミング向けライブラリー群、ハードウェアへの低水準インターフェイスである oneAPI Level Zero が含まれます。これらのコンポーネントを組み合わせることで、インテルや他社はそれぞれの製品をサポートする oneAPI の独自実装を作成したり、oneAPI をベースに新製品を作成できます。

データ並列 C++ とは?

oneAPI の主要言語である DPC++ は馴染みのある C/C++ 構文をベースにしており、CPU とアクセラレーターでパフォーマンスを発揮できるようにデータ並列処理とヘテロジニアス・プログラミングをサポートするため The Khronos Group の SYCL* を統合しています。DPC++ の目標は、プログラミングを簡素化し、さまざまなハードウェア・ターゲットでコードを再利用できるようにしつつ、特定のアクセラレーター向けのチューニングも可能にすることです。

DPC++ 言語拡張は、データ並列プログラミングを簡素化する拡張とともに、コミュニティー・プロジェクトを通じて推進されます。このプロジェクトはオープンであり、継続的な進化のため共同開発されます。

oneAPI 仕様の要素はオープンソースか?

多くのライブラリーとコンポーネントはすでにオープンソースであるか、間もなくオープンソースになる可能性があります。オープンソースの要素は、oneapi.com (英語) で確認できます。

oneAPI イニシアチブを支持し参加している企業は?

2019 年 11 月 17 日時点で、HPC、AI イノベーター、ハードウェア・ベンダー/OEM、ISV、CSP、大学などのリーダー (英語) を含む、30 を超える大手企業と研究機関が oneAPI の概念をサポートしています。さらに、ベータ版インテル® oneAPI の各種ツールキットのテストも行われており、多くのフィードバックが寄せられています。

oneAPI 業界サポートのロゴ

このイニシアチブは始まったばかりであり、インテルは今後数年間で採用が拡大すると予想しています。oneAPI の独自実装を作成し自己認証プロセスを完了した企業は、新しい oneAPI イニシアチブのブランドとロゴを使用できます。

ベータ版インテル® oneAPI の各種ツールキット

インテル® oneAPI ベース・ツールキットは、多様なアーキテクチャーでハイパフォーマンスなデータセントリックのアプリケーションを構築および展開するためのツールとライブラリーの基本セットです。oneAPI オープン仕様のテクノロジー (DPC++ 言語、ドメイン固有ライブラリー) とインテル® Distribution for Python* により、関連するアーキテクチャー全体で高速化を実現します。さらに、このツールキットには、拡張プロファイル、設計支援、およびデバッグツールが含まれます。

インテル® oneAPI ベース・ツールキットを補完する、HPC、AI、およびその他のワークロード向けの追加のツールキットも用意されています。

  • インテル® oneAPI HPC ツールキット (ベータ): スケーラブルで高速な C++、Fortran、および OpenMP* アプリケーションを開発できます。
  • インテル® oneAPI DL フレームワーク・デベロッパー・ツールキット (ベータ): ディープラーニング・フレームワークを作成したり、既存のディープラーニング・フレームワークをカスタマイズできます。
  • インテル® oneAPI レンダリング・ツールキット (ベータ): ハイパフォーマンスで高品質な視覚化アプリケーション (SciVis を含む) を作成できます。
  • インテル® AI アナリティクス・ツールキット (ベータ): oneAPI テクノロジーを使用するこのツールキットは、AI 開発者とデータ・サイエンティストがマシンラーニングとディープラーニング・モデルを利用するアプリケーションを作成するのを支援します。

このほかにも、oneAPI テクノロジーを使用する 2 つの補完的なツールキットがあります。システムエンジニア向けのインテル® System ブリングアップ・ツールキットと、ディープラーニング推論とコンピューター・ビジョン向けのプロダクションレベルの OpenVINO™ ツールキットです。詳細は、インテル® oneAPI サイト (英語) を参照してください。

oneAPI でサポートされるプロセッサーとアクセラレーターは?

oneAPI 仕様は、複数のベンダーの幅広い CPU とアクセラレーターをサポートするように設計されています。ベータ版インテル® oneAPI リファレンス実装は、現在、インテル® CPU (インテル® Xeon® プロセッサー、インテル® Core™ プロセッサー、Intel Atom® プロセッサー)、インテル® Arria® FPGA、および将来のインテル製ディスクリート・データセンター GPU 向けプロキシー開発プラットフォームとして第 9 世代インテル® プロセッサー・グラフィックスをサポートしています。今後、その他のインテルのアクセラレーター・アーキテクチャーが追加される予定です。

oneAPI は非インテル製ハードウェアでも動作するのか?

oneAPI の言語、DPC++、およびライブラリーの仕様は、ほかのハードウェア・ベンダーが使用できるように公開されており、インテルでは他社に oneAPI の採用を推奨しています。独自の oneAPI 実装を作成し特定のハードウェア向けに最適化するかどうかは、各ベンダーや業界関係者次第です。

開発者向けの情報

oneAPI イニシアチブに関する情報は、oneAPI.com (英語) を参照してください。ローカルで使用するベータ版インテル® oneAPI の各種ツールキットは、インテル® デベロッパー・ゾーン (software.intel.com/oneapi (英語)) からダウンロードできます。別の方法として、oneAPI 向けのインテル® DevCloud を利用すると、各種ツールキットを使用し、さまざまなデータセントリックのインテル® アーキテクチャーでコードとワークロードを素早くテストできます。この方法では、インストールとセットアップの時間を節約できるだけでなく、開発プラットフォームのコストを気にせずにさまざまなハードウェアを柔軟に試すことができます。

Intel、インテル、Intel ロゴ、Arria、Intel Atom、Intel Core、Stratix、Xeon、OpenVINO は、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。

関連記事