インテル、Intel ArcやNVIDIA、AMDのGPUに対応した最新コンパイラ技術を含む開発ツールキット「oneAPI ツールキット 2023」リリース[PR]
今回は「インテル、Intel ArcやNVIDIA、AMDのGPUに対応した最新コンパイラ技術を含む開発ツールキット「oneAPI ツールキット 2023」リリース[PR]」についてご紹介します。
関連ワード (抽象化、指向、科学者向等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
インテルは昨年(2022年)、NVIDIAやAMDなどのGPUに対応した高度なコンパイラ技術を持つCodeplay Software社の買収を発表しています。
なぜインテルは他社のプロセッサに対応したコンパイラ技術を持つ企業を買収したのでしょうか。
Codeplay Softwareは、OpenGLなどの業界標準を定めているKhronos Groupが提唱する「SYCL」(発音は’sickle’=シクル)と呼ばれる技術を持つ代表的な企業として知られていました。
SYCLはCPUやGPU、FPGAなどのプロセッサを抽象化します。そして、SYCLに対応したプログラムのコードはコンパイラによって、CPUやGPU、FPGAなどのプロセッサに最適化されたバイナリとして出力されるのです。
インテルは同社の買収により、自社のCPUやGPU、FPGAだけでなく、NVIDIAやAMD、RISC-Vなどを含む、他社のGPUやプロセッサにまで対応しSYCLで最適化する、業界標準に対応したコンパイラ技術を手に入れたのです。
クロスアーキテクチャを実現するoneAPIの取り組み
インテルはCodeplay Software社の買収以前から、単一のソースコードでさまざまなハードウェアに最適化されたソフトウェア開発を可能にする「oneAPI」と呼ばれる取り組みを行ってきました。
oneAPIはクロスアーキテクチャのコードによって、CPUやGPU、FPGAといったさまざまなハードウェアの優れた性能を引き出すための取り組みです。
特定ベンダのハードウェアに依存しないプログラミングモデルを実現し、安心してソフトウェア開発ができる環境を実現しようとしています。
そのoneAPIを実現するインテルの取り組みとして「インテル oneAPI ツールキット」製品があります。
インテル oneAPI ツールキットは、インテルのプロセッサ対応はもちろん、他社のプロセッサ対応も指向してきたソフトウェア開発ツールキットです。ハイパフォーマンスなソフトウェア開発に最適化されたC/C++、Python、SYCL、OpenMPなどに対応したコンパイラやライブラリが含まれています。
さらにHPCやエッジ&IoT、映像クリエイターや科学者向け、AI開発者やデータサイエンティストなどの特定用途向けのアドオンツールキットなども提供されています。
そして今年、Codeplay Softwareの技術に対応したインテルの最新コンパイラを含む新製品「インテル oneAPI ツールキット 2023」が登場し、AMDやNVIDIAのGPUなどへの対応が本格的に前進したのです。
果たして最新の「インテル oneAPI ツールキット 2023」はどのような製品となったのか、概要を見ていきましょう。
インテルの最新プロセッサとNVIDIA、AMDのGPUなど対応
インテル oneAPI ツールキット 2023では、インテルの最新のCPUやGPUおよびそれらの持つ高度な機能がサポートされました。
主なものだけでも、第4世代インテルXeonスケーラブル・プロセッサー(Sapphire Rapids)をはじめ、データセンターGPUフレックスシリーズ、Arc AシリーズのハードウェアAV1エンコーダーなどに対応しました。
C++コンパイラにおける「SYCL 2020」サポートも向上しています。
そしてNVIDIAとAMDのGPUがCodeplayコンパイラープラグインによって正式にサポートされた点は注目に値するでしょう。
インテル自身が行ったベンチマークによると、SYCLを用いたコードでNVIDIA A100 GPUの上でベンチマークテストを実行した結果、NVIDAが提供している同社向けGPUのプログラミングモデルである「CUDA」に匹敵する性能が得られたとのことです。
下図の緑のマーカーがCUDAでの性能、青のマーカーがSYCLでの性能を示しています。
SYCLによるコードで、十分な性能を発揮するアプリケーションが開発できることが分かるでしょう。
CUDAで書かれたコードをSYCLへ変換
既存のCUDAで書かれたコードをSYCLへと変換する「DPC++ 互換性ツール」は刷新されてオープンソースのSYCLomaticベースとなり、cuBLASやcuDNNといったCUDAライブラリーの呼び出しを含む、より多くのCUDA C/C++のソースコードをSYCLとoneAPI ライブラリーを用いるコメント付きソースコードへ変換できるようになりました。
既存のCUDAベースのコードの90%から95%は自動的に変換できるとしています。
プロファイラ、アドバイザ、デバッガなども提供
さらに、CPU、GPU、FPGA向けにコードのチューニングを追い込んでいくための、C/C++、Fortran、Python、Go、Javaなど広範囲な言語をサポートした「VTuneプロファイラー」。
コードのどの部分をGPUなどにオフロードさせるべきか、その際にどのくらい性能が向上するかなどを推定し、CPUのマルチコアやキャッシュを最適に使うためのアドバイスをしてくれる「Advisor」。
そしてCPU、FPU、FPGAなどさまざまなアクセラレーターをサポートした、インテルによるGDBディストリビューションなど、効率的な開発と精度の高いチューニングを実現するツールも備えています。
エクセルソフトが日本国内で販売
この「インテル oneAPI ツールキット 2023」は、日本国内ではエクセルソフトが販売し、日本語ドキュメントの提供、セミナーの開催、導入支援などを行っています。
より詳しい製品情報や価格などについてはエクセルソフトの製品公式サイトをご覧ください。
(本記事はエクセルソフトの提供によるタイアップ記事です)