CUDA* から SYCL* へ移行してすぐに使えるソフトウェア
oneAPI アカデミック・センター・オブ・エクセレンス (CoE) (英語) の中心となる組織、研究機関、大学は、イノベーションの推進を支援するだけでなく、SYCL* の導入を主導しています。SYCL* はロイヤルティー・フリーのクロスプラットフォーム抽象化レイヤーであり、最新の C++ 標準を使用してヘテロジニアスおよびオフロード・プロセッサー向けのコードを記述できるようにします。
CoE メンバーは、ソフトウェア開発者が、選択したハードウェア構成やワークロード・ホストとオフロードターゲットのコンピュート・アクセラレーションの組み合わせごとに異なるプログラミング・パラダイムに縛られない世界を促進します。そして、移植性に優れたオープンソース・ソフトウェア・プロジェクトを実現します。
今後、このブログシリーズでは、ベンダーに依存しない SYCL* へソフトウェア・コードベースを移行した CoE メンバーの取り組みを紹介していきます。
ハイパフォーマンス・コンピューティング (HPC) におけるヘテロジニアス・クロスアーキテクチャー・コンピューティングの進化への貢献に注目して、彼らの取り組みを詳しく掘り下げます。
豊かなイノベーション・エコシステム
SYCL* (英語) は、ヘテロジニアス・プログラミングを可能にする単なる C++ 抽象化レイヤーではありません。ワークロードがさまざまな種類の計算エンジンの強みを利用できるように、ベンダーの縛りから解放するというビジョンへと進化しています。oneAPI 仕様 (英語) は、SYCL* をベースに構築されており、エコシステム全体でクロスアーキテクチャー実装のコラボレーションを促進するイニシアチブに採用されています。バックエンド・アーキテクチャーは、完全にオープン・スタンダードをベースとしており、オープンソースです。そのため、既存の OpenCL* (英語) ベースのデバイスドライバーの統合、新しいレベルゼロ (英語) ベースのデバイスドライバーの作成、またはカスタム・デバイス・ドライバーの作成が可能です。CPU、GPU、FPGA、ASIC、VPU など、原則としてあらゆるコンピュート・アクセラレーターをターゲットにできます。
このオープン・アーキテクチャーは、どの HPC プラットフォームでもコードベースを最高の状態で実行する必要がある組織や研究機関にとって、SYCL* と oneAPI を非常に興味深いものにしています。
現場やエッジにデプロイされたアナリティクス・ワークロードでも、この柔軟でポータブルなアプローチの恩恵を受けることができます。
実際、これを理由に oneAPI アカデミック・センター・オブ・エクセレンス (英語) の一部のメンバーは、データ・アナリティクスと科学ワークロードを CUDA* から SYCL* に移行し、プロジェクトの SYCL* ベースのバイナリーやソースコードを提供しています。
これは、高速なヘテロジニアス・コンピューティングのための、成長し続けるイノベーション・エコシステムの始まりと言えるでしょう。
各種 oneAPI プロジェクト
oneAPI コミュニティー (英語) の awesome-oneapi リポジトリー (英語) では、サンプル・プロジェクトといくつかの CoE プロジェクトを利用できます。
さまざまな計算カテゴリーのサンプル・プロジェクトが用意されています。
- AI – コンピューター・ビジョン
- AI – データサイエンス
- AI – マシンラーニング
- AI – 自然言語処理
- AI – フレームワークとツールキット
- 自律システム
- データの可視化とレンダリング
- エネルギー
- ゲーム
- 製造業
- 数学と科学
- ツールと開発
このブログシリーズでは、SYCL* 実装が利用可能な oneAPI アカデミック・センター・オブ・エクセレンス (英語) 内のプロジェクトに注目します。
SYCL* 対応の主なプロジェクト
以下は、awesome-oneapi リポジトリー (英語) または oneAPI アカデミック・センター・オブ・エクセレンス (英語) のプロジェクトの一部です。各プロジェクトについては、今後の記事で詳しく取り上げる予定です。
- Amber* (英語): 高性能分子動力学 (MD) プログラムのコレクションで、特に計算創薬や関連研究において生体分子の分子動力学シミュレーションを行うため、大学、国立研究所、産業界の何千人もの科学者によって使用されています。カリフォルニア大学サンディエゴ校 (UCSD) (英語) の San Diego Supercomputer Center (SDSC) (英語) の Andreas Goetz 氏のチームは、SYCL* で Amber* を利用できるようにする取り組みを主導しています。
- Autodock* (英語): GNU General Public License の下で利用できる、医学および薬学研究で使用される分子モデリング・シミュレーション・ソフトウェアです。特にタンパク質とリガンドのドッキングに有効です。ダルムシュタット工科大学 (英語) の Andreas Koch 氏と Leonardo Solis-Vasquez 氏のチームは、oneAPI と SYCL* を利用してソフトウェア最適化しました。
- GinkgoOneAPI* (英語): スパース線形システムの解法に焦点を当てた、メニーコアシステム向けの高性能線形代数ライブラリーです。テネシー大学ノックスビル校 (英語) の Hartwig Anzt 教授のチームは、オープンソースの Gingko ソフトウェア・パッケージ (英語) を oneAPI バックエンドへ移行しています。
- GROMACS* (英語): 主にタンパク質、脂質、核酸のシミュレーション用に設計された、高性能分子動力学と出力解析を行う無料のオープンソース・ソフトウェア・スイートです。フローニンゲン大学の生物物理化学部で開発され、現在は世界中の大学や研究センターの貢献者によってメンテナンスされています。ストックホルム大学/KTH 王立工科大学 (英語) の Erik Lindahl 氏のチームは、GROMACS を SYCL* と oneAPI を使用するように移行しました。
- NAMD* (英語): Nanoscale Molecular Dynamics (NAMD) は、分子動力学シミュレーション用のソフトウェア・ソリューションです。イリノイ大学アーバナ・シャンペーン校 (英語) の Theoretical and Computational Biophysics Group (TCB) と Parallel Programming Laboratory (PPL) の共同研究により開発されました。Emad Tajkhorshid 氏と David Hardy 氏のチームは、SYCL* と oneAPI を利用してソフトウェアを実装しています。
参加する
透過性、移植性、柔軟性に優れたハイパフォーマンスなクロスアーキテクチャー・コンピューティングを実現するため、皆さんの参加をお待ちしています。コードパスに SYCL* (英語) をインクルードしてアクセラレーターや GPU へオフロードし、ベンダーに依存しない実装手段として oneAPI (英語) を採用してください。oneAPI に対するインテルの貢献については、こちら (英語) を参照してください。
科学データ分析やシミュレーション・ソリューションに活用することができます。
CoE の研究者と開発者が行っている研究と、インテルとの共同の取り組みが、計算集約型ワークロードの選択肢の拡大にどのように役立つかについて、今後さらに詳しく説明していきますので、ご期待ください。
ソフトウェアを入手
- Amber* (英語)
- Autodock* (英語)
- GinkgoOneAPI* (英語)
- GROMACS* (英語)
- NAMD* (英語)
関連情報
- oneAPI アカデミック・センター・オブ・エクセレンス (英語)
- SYCL* の要点 (英語)
- CUDA* から SYCL* への移行カタログ (英語)
- CUDA* から C++ with SYCL* への移行 (英語)
- CUDA* から SYCL* への移行ワークフロー (英語)
- awesome-oneapi リポジトリー (oneAPI プロジェクトのリスト) (英語)
- SYCLomatic (英語)
インテル® oneAPI ツールキット
有償サポート製品はこちら
法務上の注意書き
性能は、使用状況、構成、その他の要因によって異なります。詳細については、http://www.intel.com/PerformanceIndex/ (英語) を参照してください。結果は異なることがあります。
性能の測定結果はシステム構成の日付時点のテストに基づいています。また、現在公開中のすべてのセキュリティー・アップデートが適用されているとは限りません。絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。
実際の費用と結果は異なる場合があります。
インテルのテクノロジーを使用するには、対応したハードウェア、ソフトウェア、またはサービスの有効化が必要となる場合があります。
インテルは、サードパーティーのデータについて管理や監査を行っていません。ほかの情報も参考にして、正確かどうかを評価してください。
© Intel Corporation.Intel、インテル、Intel ロゴ、その他のインテルの名称やロゴは、Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。