OpenMP* バージョン 4.5: 標準化の進化

HPCインテル® DPC++/C++ コンパイラーインテル® Fortran コンパイラー

この記事は、インテルの The Parallel Universe Magazine 24 号に収録されている、OpenMP* 4.5 に関する章を抜粋翻訳したものです。

OpenMP* API 仕様はよく知られるようになり、共有メモリーシステムにおけるマルチスレッド化で広く利用されています。バージョン 4.5 はこの標準化の次のステップへの進化であり、オフロード・プログラミング向けの機能とともに新たな並列プログラミングのコンセプトを導入しています。

歴史

以前のバージョンの OpenMP* API 仕様 (4.0) は、2013 年 7 月に公開されました。このバージョンの主な機能追加は、ホストからコプロセッサーへのオフロード計算による異種プログラミングの基本機能がサポートされたことです。その後、ハイパフォーマンス・コンピューティングの分野で計算能力を高めるため、コプロセス (共同処理) に多くの関心が集まりました。これにより、OpenMP* 4.0 では異種コンピューティングをサポートする上で重要な機能を欠いていることが明らかになりました。また、プログラマーは常に新しい並列化の可能性とより優れた並列処理を記述することを求めています。

OpenMP* 4.5 では、コプロセッサーへのオフロード機能を改善するだけでなく、並列プログラミングを容易にする便利な機能を追加することに努めました。この記事では、OpenMP* 4.5 における 3 つの新機能について説明します。

  • ループを簡単に並列実行するため、ループでタスクを生成します。
  • ロックを使用する際に、ロックにヒントを与えることで並列性を高めます。
  • システム上のコプロセッサーを使用するためオフロードを改善しました。

この記事のドイツ語版は、Heise Developer オンラインマガジンに掲載されました。

タイトルとURLをコピーしました