コース内容
パート 1
OpenMP* が広く導入される背景とこれまでの歴史を振り返ってみます。異なるバージョンのインテル® コンパイラーや異なるコンパイラー間で OpenMP* を使用する注意点や制限について説明します。
また、OpenMP* 3.1 で追加されたタスク機能が 4.0 から 4.5 でどのように進化したかを例を使用して説明し、最新の OpenMP* 5.0 で強化された新機能を紹介します。
パート 2
OpenMP* のスレッド化機能を使用してプログラマーがマルチスレッドの動作をプログラミングしたように、OpenMP* 4.0 からは omp simd を使用してプログラマーが明示的にベクトル化もできるようになりました。OpenMP simd に関連する機能を 4.0 から 5.0 までの進化を追って紹介します。
また、OpenMP* 4.0 で追加されたオフロード機能を利用することで、これまで共有メモリー型並列処理に加え分散メモリー型の並列処理を表現できるようになりました。注目されるヘテロジニアス・プログラミング環境での OpenMP オフロード機能についても説明します。
パート 3
パート 1 および 2 でカバーされなかった OpenMP* 5.0 のそのほかの機能について紹介します。最後に、oneAPI 向けのデータ並列 C++ (DPC++) へ移行する前に、現行のインテル® C++/Fortran コンパイラー v.19.1 や oneAPI HPC ツールキットに含まれるインテル® C++ および Fortran コンパイラー 2021 ベータ版を使用して、簡単にインテル グラフィックスへのオフロードを行うソフトウェアの開発および検証方法を紹介します。