ローレンス・バークレー国立研究所は oneMKL によりヘテロジニアス・コンピューティングを推進

同カテゴリーの次の記事

Cinema 4D* でリアルな 3D シーンを作成する

この記事は oneAPI Blog に公開されている「Lawrence Berkeley National Laboratory drives heterogenous computing with oneAPI’s Math Kernel Library(oneMKL)」の日本語参考訳です。


oneAPI マス・カーネル・ライブラリー (oneMKL) 乱数生成器ドメインが NVIDIA GPU をサポート

世界中で多くのハイパフォーマンス・コンピューティング・センターが、研究者向けにさまざまなプラットフォームから成るヘテロジニアス・システム (ノードごとに中央処理装置とグラフィックス処理装置で構成される) へのアクセスを提供しています。しかし、ほとんどの場合、ドメイン科学者のリソースには制限があるため、各種プラットフォームを対象とする複数の実装に対応することは困難です。そのため、プログラマーがパフォーマンスの移植性を実現できるように多くの移植性レイヤーが開発されています (Kokkos*、Raja、Alpaka、SYCL* などがあります)。しかしながら、移植性のあるアプリケーション・プログラミング・インターフェイスには、プラットフォーム固有の API に備わる機能やツールが欠けていることがあります。

oneMKL オープンソース・インターフェイス・プロジェクト (英語) は、CPU とコンピューティング・アクセラレーター・アーキテクチャー向け数学アルゴリズム用の DPC++ ベースの API を提供する oneAPI 業界イニシアチブの一部です。インターフェイスは、C++ 開発者に馴染みのある、効率良い最新の線形代数と疑似乱数生成器を使用して、アプリケーションをスピードアップするクロスアーキテクチャー向けのソリューションを提供します。特に、oneMKL 乱数生成器ドメインは、良く利用される疑似乱数エンジンとさまざまな連続および離散分布を備えています。乱数生成器は、数学、科学、工学、金融、およびその他の分野で適用される確率的アルゴリズム (最も重要なものはモンテカルロ・シミュレーション) で遍在的に利用されています。

SYCL* の相互運用性とオープン・ソフトウェアのおかげで、cuRAND のサポートを oneMKL オープンソース・インターフェイス・プロジェクトに追加するのは容易な作業でした。そして、既存のデバイス向けに最適化されたカーネルを使用して、NVIDIA GPU 上の SYCL* アプリケーションで乱数を生成できるようになりました。既存の最適化を利用することで、SYCL* で記述されたクロスプラットフォーム・アプリケーションはネイティブに近いパフォーマンスを実現できます。つまり、SYCL* ベースのアプリケーションをソースを変更することなくすべての主要ベンダーのプラットフォームで実行でき、ネイティブ・アプリケーションと同等のパフォーマンスを達成できます。これは非常に有望な結果であると言えます。

結論として、oneAPI 仕様技術諮問委員会 (TAB) は、ローレンス・バークレー国立研究所 (https://www.lbl.gov/ (英語)) の物理学部門による oneMKL 乱数生成器の CUDA* サポートの発表に興奮を覚えています。これは、oneMKL インターフェイス・プロジェクトへの新しい重要なコミュニティーによる貢献です。今後にご期待ください。


著者紹介
Dr. Vincent R. Pascuzzi は、ローレンス・バークレー国立研究所の物理学部門のポスドク研究員であり、エネルギー省の高エネルギー物理学センターのメンバーです。主な研究開発のテーマは、ヘテロジニアス・コンピューティングとパフォーマンスの移植性です。「多様なハードウェア・アーキテクチャーとプラットフォーム」の問題に対処するため、「すべての API」として SYCL* の調査を行ってきました。Codeplay 社が CUDA* デバイスサポートを提供したことで、NVIDIA GPU で SYCL* ベースのコードをコンパイルして実行することが可能になりました。ただし、アプリケーションとベンチマークのためベンダー固有のライブラリーを利用する必要があります。

関連記事

  • 開発者が実感する oneAPI の価値開発者が実感する oneAPI の価値 この記事は、インテル® デベロッパー・ゾーンに公開されている「Developers Realize the Value of oneAPI」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。 Scott Apeland デベロッパー・リレーションズ […]
  • DPC++ への Codeplay の貢献により NVIDIA* GPU の SYCL* サポートを提供 この記事は 2020 年 2 月 3 日に Codeplay のウェブサイトで公開された「Codeplay contribution to DPC++ brings SYCL support for NVIDIA GPUs」を Codeplay の許可を得て日本語訳したものです。 Codeplay は当初から SYCL* […]
  • oneAPI が私をインテルに引き戻した理由oneAPI が私をインテルに引き戻した理由 この記事は、LinkedIn で公開されている James Reinders 氏の「How oneAPI enticed me back to Intel」を同氏の許可を得て翻訳した日本語参考訳です。 oneAPI は、2019 […]
  • oneAPI Image Processing Library によるポータブルな高速画像処理oneAPI Image Processing Library によるポータブルな高速画像処理 この記事は、HPCwire に公開されている「Portable, Accelerated Image Processing with the oneAPI Image Processing […]
  • 多様なハードウェアにおける HPC コードの移植性多様なハードウェアにおける HPC コードの移植性 この記事は、インテル® デベロッパー・ゾーンに公開されている「Expand HPC Code Portability Across Diverse Hardware Architectures」の日本語参考訳です。原文は更新される可能性があります。原文と翻訳文の内容が異なる場合は原文を優先してください。 この記事の […]