Fortran コンパイラ
Fortran には、10種類以上のオープンソースと商用コンパイラが存在します。
コンパイラ#
オープンソースコンパイラ
GNU Fortran コンパイラ
GNU Fortran コンパイラ (gfortran) は、GNU コンパイラコレクションの一部である、成熟したフリーでオープンソースのコンパイラです。
OpenCoarrays は、gfortran を基にしたライブラリとコンパイララッパーで、gfortran で Fortran 2018 の並列プログラミング機能を有効にします。
LLVM Flang
Flang は、最近 LLVM に追加された Fortran 2018 の新しいフロントエンドです。最新の C++ で実装されており、LLVM IR へのローワーリングに Fortran 固有の MLIR ダイレクトを使用します。このプロジェクトは現在も活発に開発されています。
現在の Flang
Flang は、NVIDIA/PGI 商用コンパイラをベースにしたオープンソースコンパイラです。
LFortran
LFortran は、最新の対話型 LLVM ベースの Fortran コンパイラです。静的に提供される WASM ベースの LFortran コンパイラを使用して、dev.lfortran.org でもオンラインで利用でき、Web ブラウザでコードを実行できます。
商用コンパイラ
Intel oneAPI
Intel oneAPI は、Fortran、C、C++、Python 用のインテルのコンパイラ、ツール、ライブラリのスイートです。Intel oneAPI HPC Toolkit は 2 つの Fortran コンパイラ を提供します。
Intel Fortran Compiler (
ifx
) は、Fortran 2018 を完全にサポートする新しい LLVM ベースのコンパイラです。OpenMP 5.0/5.1 の大部分 もサポートしており、Intel GPU へのオフロードも可能です。do concurrent
を Intel GPU にオフロードすることもできます。Intel Fortran Compiler Classic (
ifort
) は、CPU 専用の、Fortran 2018 を完全にサポートする成熟したコンパイラです。
現在の Intel oneAPI は無料で利用でき、サポートは有償で購入できます。現在、ifx コンパイラは x86-64 アーキテクチャの Linux と Windows プラットフォームをサポートしています。ifort は Linux、Windows、macOS をサポートしています。フリーバージョンについては、Intel Developer フォーラム でコミュニティサポートを利用できます。オプションとして、以前のバージョンの ifort と ifx へのアクセスを含む追加の特典を備えた 優先サポート を購入できます。
NAG
最新の NAG Fortran コンパイラ リリース (7.0) は、コアレイズによる並列プログラミングと OpenMP によるプログラミングの追加サポートを含む、レガシーおよび最新の Fortran 機能を幅広くサポートしています。
このコンパイラは、Fortran 2018 (アトミック演算、イベントとタスク、その他小さな機能)、Fortran 2008 のほぼすべて、Fortran 2003 の完全なカバレッジ、OpenMP 3.1 のすべてを大幅にサポートしています。すべてのプラットフォームには、ソフトウェア開発をサポートするツールが含まれています。ソースファイルポリッシャ、モジュールとインクルードファイルの依存関係ジェネレーター、コールグラフジェネレーター、インターフェースビルダー、精度ユニファイアです。
NVIDIA
以前の PGI コンパイラ であった NVIDIA HPC SDK の C、C++、および Fortran コンパイラは、標準 C++ および Fortran、OpenACC® 指令、および CUDA® を使用した HPC モデリングおよびシミュレーションアプリケーションの GPU アクセラレーションをサポートしています。GPU アクセラレーションされた数学ライブラリは、一般的な HPC アルゴリズムのパフォーマンスを最大化し、最適化された通信ライブラリは、標準ベースのマルチ GPU とスケーラブルなシステムプログラミングを可能にします。
NVHPC コンパイラは無料で利用できます。現在、このコンパイラは Linux プラットフォームと x86_64、ppc64le、aarch64 アーキテクチャをサポートしています。コミュニティサポートは、HPC コンパイラフォーラム で利用できます。
HPE / Cray
Cray コンパイル環境 (CCE) は、Cray の適応型コンピューティングパラダイムの礎となる革新です。CCE は、シーケンシャルスカラー、ベクトルパラレル、または高度にマルチスレッド化された計算領域を特定する、高度に開発された洗練された Cray テクノロジーベースに基づいています。Cray システムのスカラー、ベクトル、マルチスレッド化ハードウェア機能を自動的に活用する最適化コンパイラが含まれています。CCE は、Fortran、C、C++ をサポートしています。
IBM
IBM® XL Fortran for Linux は、Fortran プログラミング言語で大きく複雑なアプリケーションを開発するために使用される、業界標準ベースのプログラミングツールです。最新の POWER9 アーキテクチャの機能を活用し、ハードウェアの使用率を最大化するコードを生成します。IBM XL Fortran for Linux は、広範な数値、科学、高性能コンピューティングをサポートする IBM Power Systems™ 上でインフラストラクチャを最適化します。
IBM XL コンパイラのコミュニティエディションは、無料で利用できます。このコンパイラは、Linux および AIX プラットフォームと ppc64le アーキテクチャをサポートしています。
AMD
AMD Optimizing C/C++ Compiler (AOCC) コンパイラシステムは、高性能で、生産性の高いコード生成ツールです。AOCC 環境は、32 ビットと 64 ビットの Linux® プラットフォームをターゲットとする C、C++、および Fortran アプリケーションのビルドと最適化を行う際に、開発者にさまざまなオプションを提供します。AOCC コンパイラシステムは、グローバル最適化、ベクトル化、プロシージャ間分析、ループ変換、コード生成などを含む、高度な最適化、マルチスレッド化、およびプロセッササポートの高レベルを提供します。AMD は、使用時に各 x86 プロセッサコアから最適なパフォーマンスを引き出す、高度に最適化されたライブラリも提供しています。AOCC コンパイラスイートは、x86 アプリケーションの開発とチューニングを簡素化し、高速化します。
AOCC コンパイラは無料で利用でき、x86_64 アーキテクチャを搭載した Linux プラットフォームをサポートしています。
ARM
Linux ユーザー空間 Fortran コンパイラ。一般的な Fortran および OpenMP 標準をサポートし、主要なサーバークラスの Arm ベースのプラットフォーム用に調整された、HPC および科学コード向けに調整されています。オープンソースの Flang フロントエンドと、LLVM ベースの最適化およびコード生成バックエンドに基づいて構築されています。Arm Compiler for Linux パッケージの一部として利用できます。
Oracle / Sun
Oracle C、C++、Fortran コンパイラ は、オンプレミスとクラウドの Oracle システム向けに高度に最適化されています。
最新の Oracle SPARC および x86 ベースのシステム向けの高度なコード生成テクノロジー
C++14、C++11、C11、OpenMP 4.0 を含む最新の業界標準のサポート、および広範な GCC 互換機能
コンパイル時の自動コード分析とアプリケーション実行時の自動スタックオーバーフロー保護
Silverfrost FTN95
Silverfrost FTN95 は、Fortran 95 標準に準拠した完全なコンパイラで、Win32 および Microsoft .NET 用の高速な実行ファイルを生成できます。FTN95 には、世界最高のランタイムチェックと幅広いサポートソフトウェアが付属しています。すべての標準機能と多くのベンダー固有のレガシー言語機能がサポートされているため、Fortran プロジェクトは Fortran 77、Fortran 90、Fortran 95 の任意の組み合わせにすることができます。Fortran 2003 と 2008 の一部の機能が 追加 されました。Silverfrost Fortran は Windows / x86_64 で動作します。無料の個人用エディションがあります。
NEC
Fortran コンパイラ は、Fortran-2003 標準 (ISO/IEC 1539-1:2004) に準拠しており、Fortran-2008 (ISO/IEC 1539-1:2010) の多くの機能をサポートしています。
LCC
MCST C、C++、Fortran コンパイラ は、Fortran-95 (ISO/IEC 1539:1997) を完全にサポートし、Fortran-2003 (ISO/IEC 1539:2004)、Fortran-2008 (ISO/IEC 1539:2010)、Fortran-2018 (ISO/IEC 1539:2018) を部分的にサポートしています。ロシアのプロセッサアーキテクチャ Elbrus (e2k) と SPARC (MCST-R) に使用され、x86_64 アーキテクチャ用のクロスコンパイラも利用できます。
開発中止
以下は、開発が中止されたと思われる Fortran コンパイラのリストです。そのため、上記にはリストされていません。
Absoft
Apogee
Edinburgh Portable Compilers
Hewlett Packard
Lahey
Watcom
PathScale
G95
Open64
Unisys
注記
リストにないコンパイラがある場合、または「開発中止」セクションにリストされているコンパイラが実際にはアクティブに保守されている場合はお知らせください。