過去 5 ~ 10 年の間、多くの開発者によって幅広い分野で GPU を活用したソフトウェアの高速化が広まり、中でも急速に成長する AI やマシンラーニングの分野における活用が注目されています。NVIDIA は、自社の GPU 製品群の展開により、これらの分野で圧倒的な地位を築いてきましたが、他社製のアクセラレーターの普及により、代替ソリューションを利用できるようになりました。現在のヘテロジニアスな環境に対応するには、複数のベンダーによる複数のアーキテクチャーをターゲットにできる言語とプログラミング・モデルを利用する必要があります。
NVIDIA* GPU を活用したソフトウェアでは、独自のプログラミング・モデルである CUDA* が使用され、ベンダー依存の原因となっています。oneAPI は、オープンソースの SYCL* コンパイラーである DPC++ のほか、BLAS や FFT などの一般的な演算を実装する一連のライブラリーを提供します。さらに、インテルのアクセラレーター以外にも、単一ソースまたは単一バイナリーから NVIDIA* GPU や AMD* GPU をターゲットにできます。
このセッションでは、oneAPI を利用して NVIDIA* GPU と AMD* GPU をターゲットにし、独自のソフトウェアからオープン・スタンダードのソフトウェアに移行する方法を紹介します。