概要
Fortranコンパイラはさまざまなベンダーにより開発され、有償または無償で提供されている。提供されているコンパイラの数が多く、毎回検索する手間を省くため、入手先やドキュメントのリンク等を本記事にまとめる。
コンパイラ一覧
GNU
GNU Compiler Collection (GCC) の一部として提供されている。
2003年頃にG95プロジェクトをフォークして、通称GFortranとして開発されている。多くのLinuxディストリビューションで、デフォルトのパッケージマネージャーからインストールすることができる。最新の正式バージョンは14.2。
コマンドはgfortran
。
クロスプラットフォームでLinux、Windows、macOS、FreeBSDなどで利用可能。
cf. https://gcc.gnu.org/fortran/
repos. https://github.com/gcc-mirror/gcc (mirror)
docs. https://gcc.gnu.org/onlinedocs/gfortran/index.html
Intel
Intel oneAPI HPC Toolkitに含まれている。
以前はIntel Parallel Studioという開発ツールに含めて提供されていたが、現在はIntel oneAPIという名前で提供されている。
コマンドはifx
(バックエンドはLLVM)。
LinuxとWindowsで利用可能。
最近(version 2025.0.0より)、ifort
が削除された。
cf. https://www.intel.com/content/www/us/en/developer/tools/oneapi/toolkits.html
docs. https://www.intel.com/content/www/us/en/developer/tools/oneapi/fortran-compiler-documentation.html
NVIDIA
PGI Fortran pgfortran
の流れを汲むコンパイラ。
NVIDIA HPC SDKの一部として提供されている。
コマンドはnvfortran
。
Linuxで利用可能。
CUDA Fortranで開発する場合にはこれが唯一の選択肢か。
cf. https://developer.nvidia.com/hpc-sdk
cf. https://developer.nvidia.com/cuda-fortran
docs. https://docs.nvidia.com/hpc-sdk/compilers/index.html
Flang
LLVMベースで開発されているが、Flangと呼ばれるもしくはコマンドがflang
のコンパイラが複数あるので、一番ややこしい。
Classic Flang
PGI Fortranのオープンソースバージョンの系統である。Classicと呼ばれるのはレトロニムかもしれない。
repos. https://github.com/flang-compiler/flang
LLVM Flang
(Classic) Flangを元に出発し、LLVMのプロジェクトに含まれる形で開発されているFlang。以前はF18という名前だった。
cf. https://flang.llvm.org/docs/index.html
repos. https://github.com/llvm-flang/flang
AMD AOCC
FlangをベースとしてAMDによって開発されている。
Classic Flangをベースに拡張したもの(AOCC Flang)とLLVM Flangベースの(AMD Next Gen Fortran Compiler amdflang
)がある。
cf. https://www.amd.com/ja/developer/aocc.html
docs. https://docs.amd.com/r/en-US/57222-AOCC-user-guide/Introduction
cf. https://rocm.blogs.amd.com/ecosystems-and-partners/fortran-journey/README.html
cf. https://github.com/amd/InfinityHub-CI/tree/main/fortran
LFortran
Ondřej Čertík氏の旗振りによって開発されており、現在はアルファ版として提供されている。
コマンドはlfortran
。
対話的に実行できるらしい。
repos. https://github.com/lfortran/lfortran
NAG
有償コンパイラ。Web上のドキュメントが豊富。
コマンドはnagfor
。
最近、ベンダーの名前がNAGからnAGに変更されたようだ。
cf. https://www.nag-j.co.jp/nagfor
その他
以下のコンパイラについては具体的な情報が少ない(いくつかはハードウェアとバンドルで提供されている?)
- NEC
nfort
(SX-Aurora TSUBASA用) - 富士通
frt
,frtpx
: Fortran使用手引書(PDF) - Cray
crayftn
, cf. https://cpe.ext.hpe.com/docs/24.07/cce/index.html - IBM
xlf95
- ARM, cf. https://developer.arm.com/Tools%20and%20Software/Arm%20Fortran%20Compiler
参考文献
- https://fortran-lang.discourse.group/t/flang-compilers/9057
- NVIDIA HPC SDKのインストールと実行 @implicit_none - Qiita
- CPU/GPU プロセッサ メーカー謹製 Fortran @cure_honey - Qiita
- https://docs.amd.com/r/en-US/57222-AOCC-user-guide/Support-for-Annex-F-IEEE-754/IEC-559-of-C99/C11
- https://rocm.blogs.amd.com/ecosystems-and-partners/fortran-journey/README.html