fpm icon indicating copy to clipboard operation
fpm copied to clipboard

Compiler support and recognition

Open awvwgk opened this issue 3 years ago • 12 comments

Came up in #220.

At some point we might have to determine which compiler is used with fpm, therefore I tried to collect some information on the various Fortran compilers around. I only have first hand access to a fraction of them, so most of these information are second hand from HPC documentations or build systems.

Feel free to correct or add information to this table. Alternatively, we could move this table to the wiki.

vendor Fortran compiler C compiler Module output directory Module include directory OpenMP Free for OSS
Gnu gfortran gcc -J -I -fopenmp :heavy_check_mark:
Intel ifort icc -module -I -qopenmp :heavy_check_mark:
Intel (Windows) ifort icc /module:path /I /Qopenmp :heavy_check_mark:
Intel oneAPI ifx icx -module -I -qopenmp :heavy_check_mark:
PGI pgfortran pgcc -module -I -mp :heavy_check_mark:
NVIDIA nvfortran nvc -module -I -mp :heavy_check_mark:
LLVM flang flang clang -module -I -mp :heavy_check_mark:
LFortran lfortran --- ? ? ? :heavy_check_mark:
Lahey/Futjitsu lfc ? -M -I -openmp ?
NAG nagfor ? -mdir -I -openmp :x:
Cray crayftn craycc -J -I -homp ?
IBM xlf90 ? -qmoddir -I -qsmp :heavy_check_mark:
Oracle/Sun ? ? -moddir= -M -xopenmp ?
Silverfrost FTN95 ftn95 ? ? /MOD_PATH ? ?
Elbrus ? lcc -J -I -fopenmp ?
Hewlett Packard ? ? ? ? ? discontinued
Watcom ? ? ? ? ? discontinued
PathScale ? ? -module -I -mp discontinued
G95 ? ? -fmod= -I -fopenmp discontinued
Open64 ? ? -module -I -mp discontinued
Unisys ? ? ? ? ? discontinued

For now it might be sufficient to only support GCC, since we only guarantee that fpm works when compiled with GCC right now.

First class compiler support requires access to the compiler to allow testing in a CI environment, some of the commercial compilers have free versions for open source developers available.

awvwgk avatar Oct 31 '20 11:10 awvwgk