You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 5
Next »
This page contains information about the different compiler families available on the various Linux platforms at ECMWF and their different options.
Families
Family | Language | Command |
---|
GNU | C | gcc |
C++ | g++ |
Fortran 77/90 | gfortran |
PGI | C | pgcc |
C++ | pgCC |
Fortran 77 | pgf77 |
Fortran 90 | pgf90 |
INTEL | C | icc |
| C++ | icpc |
| Fortran 77/90 | ifort |
CRAY | C | craycc (through cc) |
| C++ | crayCC (through CC) |
| Fortran 77/90 | crayftn (through ftn) |
Basic flags
GNU | PGI | INTEL | CRAY | Description |
---|
-c | -c | -c | -c | Compile or assemble the source files, but do not link. |
-o filename | -o filename | -o filename | -o filename | Name the output file filename. |
-On | -On | -On | -On | Set the optimisation level to n. |
Preprocessor flags
GNU | PGI | INTEL | CRAY | Description |
---|
-Dname | -Dname | -Dname | -Dname | Predefine name as a macro for the preprocessor. |
-E | -E | -E | -E | Preprocessed source files including #line directives are output to stdout. |
-I dir | -I dir | -I dir | -I dir | Specifies an additional directory dir to search for include files. |
-J dir | -module-dir | - | - | Save/search for module files in directory dir (Fortran only). |
Precision flags
GNU | PGI | INTEL | CRAY | Description |
---|
-fdefault-integer-8 | -i8 | -i8 | -s integer64 | Specifies the default size for integer variables to be 8 bytes. |
-fdefault-real-8 | -r8 | -r8 | -s real64 | Specifies the default size for real variables to be 8 bytes. |
-fdefault-double-8 | -r8 | -double-size 64 | -s real64 | Specifies the default size for double variables to be 8 bytes. |
Debug flags
GNU | PGI | INTEL | CRAY | Description |
---|
-g | -g | -g | -g | Produces symbolic debug information. |
-pg | -pg | -pg | -pg | Generate extra code to write profile information suitable for the analysis program gprof. |
-fcheck=bounds | -Mbounds | -check bounds | -R b | Add runtime array bounds checking for Fortran. |
-Wuninitialized | - | -check uninit | - | Check for uninitialized variables. |
-ffpe-trap=zero,invalid,overflow | -Ktrap=fp | -fpe-all=0 | -K trap=fp | Trap floating point exceptions:- divide by zero
- invalid operands
- floating point overflow
|
-fbacktrace | -Meh_frame | -traceback | - | Add debug information for runtime traceback. |
-fconvert=swap | -byteswapio | -convert big_endian | -hbyteswapio | Specify the representation of data for unformatted files. |
-ffree-line-length-132 | -Mextend | -extend-source 132 | -N 132 | Allow 132 characters source line lengths (in fixed format). |