Modern Fortran
最近の新しい機能に絞って、細かい高度な話題を紹介しています。また今後の規格などについても一言しています。 module-submodule, MPI-coarray, parameterized derived type, F2020-F202Y 等々。
中々面白かったです。
- Talk by Dr. Reinhold Bader (LRZ Garching) at the NHR@FAU HPC Cafe, October 11, 2022
スライド:直リン https://hpc.fau.de/files/2022/10/HPC-Cafe-Erlangen_ModernFortran.pdf
parameterized derived type
parameterized derived type を使えば array of structure を structure of array に出来て、メモリーの連続性から実行性能が保てるという所が興味深かったのですが、普通の allocatable array を成分にもって自作 constructor によって割り付ければ済む話の気もします。
coarray implementation
元々は Cray の独自拡張なので、Cray は低レベルから独自のものになっていますが、他社は MPI 上に実現しています。
MPI with Fortran 2018
2018 用の module を使えば、飛び飛びアドレスの配列が簡単に呼び出せるようになります。その他弱い型付けでグダグダな C に対応できるように、型を緩くする命令が加わっています。volaitle 命令が最適化を抑止しすぎるので、代わりに asynchroneous 命令が拡張されたようです。