この記事は、Tech.Decoded で公開されている「Introducing Additional oneAPI Open Source Math Library Interfaces」(https://techdecoded.intel.io/resources/introducing-additional-oneapi-open-source-math-library-interfaces/) の日本語参考訳です。
oneAPI 業界イニシアチブ (英語) の一環として、第 3 のオープンソースの数学ライブラリー・インターフェイスがリリースされました。oneAPI マス・カーネル・ライブラリー (oneMKL) (英語) インターフェイスをオープンソース化する目的は、業界標準のインターフェイスがないことに対処し、CPU やアクセラレーター向けの単一のクロスアーキテクチャー API を提供することです。オープンソースの oneMKL インターフェイスにより、開発者は複数の CPU やアクセラレーターのアーキテクチャーで単一の DPC++ ベースの API を使用できます。これまで、開発者は複数のライブラリーを使用していたため、コードベースが複雑になり、開発サイクルが長くなっていました。
oneMKL は、さまざまな領域で重要な課題を解決します。
oneMKL の API は、さまざまな CPU ハードウェアやその他のアクセラレーター・アーキテクチャーを対象とした数学ライブラリーと組み合わせることができます。例えば、オープンソースの oneMKL インターフェイスは、インテルの CPU や GPU、その他のアクセラレーター上で AMD や NVIDIA のライブラリーを実行するパスを提供します。言い換えれば、oneMKL の API は、共通のフロントエンドとハードウェア固有のバックエンドを備えています。
oneMKL は、oneAPI 仕様 (英語) の重要な部分であり、次の基本的な数学ライブラリー・インターフェイスを提供します。
- 密線形代数
- 疎線形代数
- 乱数ジェネレーター
- 離散フーリエ変換
- ベクトル演算
- サマリー統計
oneMKL LAPACK (Linear Algebra PACKage) には、連立方程式や線形最小二乗、固有値問題、特異値分解を解く機能が含まれています。oneMKL LAPACK は、ハイパフォーマンス・コンピューティング、数値シミュレーション、人工知能、マシンラーニング、その他多くの科学計算アプリケーションで使用されています。オープンソースの oneMKL LAPACK インターフェイスは、一般的な数学関数のカバレッジを大幅に拡大します。
オープンソースの oneMKL インターフェイスは、現在、密線形代数 (BLAS と LAPACK)、および RNG をサポートしています。インテルの CPU と GPU バックエンドでインテル® oneAPI マス・カーネル・ライブラリー (インテル® oneMKL) をサポートするオープンソースの LAPACK インターフェイスがダウンロードできるようになりました。この新しいインターフェイスを活用することで、クロスアーキテクチャーのハードウェア・デバイスのサポートが拡大することを期待します。今後の開発では、ほかのドメインでもオープンソースのインターフェイスが追加される可能性があります。oneAPI 仕様は、クロスアーキテクチャー・プログラミングをサポートし、開発者のプログラミング・モデルを拡張して、言語、ライブラリー API 群、低レベルのハードウェア・インターフェイスを通じて、多様なハードウェアへの対応を実現します。互換性を促進し、開発者の生産性と革新を可能にするため、oneAPI 仕様は業界標準に基づいて構築され、オープンでクロスプラットフォームな開発スタックを提供しています。
今すぐイノベーション
ヘテロジニアス・ハードウェア向けの oneMKL を利用して、膨大な量のデータに対処し、今すぐ大量の演算を行うことができます。新しいハードウェアに対応し、数学インターフェイスをほかの数学ドメインに拡張してください。
- BLAS、RNG、LAPACK をサポートするオープンソースの oneMKL インターフェイスをダウンロードする (英語)
- ヘテロジニアス環境での開発に関する oneMKL ウェビナーを見る
https://techdecoded.intel.io/essentials/developing-in-a-heterogeneous-environment-with-intel-oneapi-math-kernel-library/ - 線形代数、疎行列、RNG の GPU サポートに関する oneMKL ウェビナーを見る
https://techdecoded.intel.io/essentials/solve-enhanced-math-problems-on-gpus-linear-algebra-sparse-matrices-and-rngs/ - ローレンス・バークレー国立研究所が NVIDIA GPU 向け RNG インターフェイスを実装した方法を読む
- oneAPI 仕様 (英語)
関連情報
oneAPI は、業界を超えたオープンな標準ベースの統一プログラミング・モデルであり、アプリケーションのパフォーマンスを向上させ、生産性を高め、より大きなイノベーションを実現するため、アクセラレーターのアーキテクチャーに関わらず、共通の開発環境を提供します。oneAPI 業界イニシアチブは、oneAPI 仕様とエコシステム全体で互換性のある oneAPI 実装に関するコラボレーションを奨励しています。
性能は、使用状況、構成、その他の要因によって異なります。詳細については、www.intel.com/PerformanceIndex/ (英語) を参照してください。