fortran66のブログ

fortran について書きます。

【メモ帳】インテル Webinar OpenMP 弁護

The Case for OpenMP

結論を言えば、ISO Fortran の do concurrent による自動 off loading では、GPU との不要なメモリー移動を制御する文法要素が無いのでこれを避けられないが、OpenMP はこれが可能であるのでメモリー移動が律速の場合 OpenMP の方が有利であるということのようです。

文法的には do concurrent の方が簡潔明なので見やすいです。Fortran 2018 では、do concurrent の修飾子として、メモリーの locality 等を指定できるようになっているので、コンパイラが進化すればメモリー移動もある程度最適化できる余地がある気もします。

Fortran 2023 では do concurrent に OpenMP 的な reduction 演算用の補助的修飾子等が導入されているので、時間と共に先行する OpenMP から性能向上に必要不可欠な要素が付け足されゆくものと予想されます。見かけの簡潔さがやや減りますが、AI 先生が助けてくれるまで如何仕方ない。

なおセミナーは夜中の2時からだったので眠くて途中で寝ました。On demand 配信が始まっているようです。

The Case for OpenMP: Why ISO Fortran Is Not Enough for Heterogeneous Parallelism

onlinexperiences.com

同様の内容が、文字記事にもなっているようです。

www.intel.com