HPC Intel Compilers

The Intel compilers will be the choice for most applications. Use icc to compile c and c++ programs and ifort for fortran 77 and 90 programs.

Compiling

Version 11.1 is the default for the Intel compilers, and you don't need to do anything special to use it. At times, older versions might be installed for special purposes. Use the module avail command to see what modules are available. If the icc/10.1/default module were available, for example, you could use version 10.1 by giving the module load icc/10.1/default command at the beginning of your session.

Compiling with the MPI libraries

OpenMPI will be the MPI of choice for most applications. Use mpicc for c and c++ programs and mpif90 for fortran 77 and 90 programs.

If you need the Intel MPI instead, then first use the module availcommand to see what modules are available. If mpi/intel/3.0 were available, for example, you could use it by giving the module load mpi/intel/3.0 command at the beginning of your session.

Use the mpiicc and mpiifort commands to compile the programs, as before.

Help and Documentation

Get online help with the --help option. For example: ifort --help

Common compiler options for all languages:

-cCompile only; do not link

-DMACRO[=value]Defines preprocessor macro MACRO with optional value (default value is 1)

-gEnables debugging; disables optimization

-I/directory/nameAdd /directory/name to the list of directories to be searched for #include files

-L/directory/nameAdds /directory/name to the list of directories to be searched for library files

-lnameAdds the library libname.a or libname.so to the list of libraries to be linked

-o outfileNames the resulting executable outfile instead of a.out

-UMACRORemoves definition of MACRO from preprocessor

-O0Disable optimization

-O1Light optimization

-O or -O2Heavy optimization (default)

-O3Aggressive optimization; may change numerical results

-ipoInline function expansion for calls to procedures defined in separate files

-funroll-loopsLoop unrolling

-parallelAutomatic parallelization

-openmpEnables translation of OpenMP directives

Options specific to C/C++

-strict-ansiEnforces strict ANSI C/C++ compliance

-ansiEnforces loose ANSI C/C++ compliance

Options specific to Fortran

-convert big_endianUse unformatted I/O compatible with Sun and SGI systems

-convert crayUse unformatted I/O compatible with Cray systems

-i8Makes 8-byte INTEGERs the default

-module /dir/nameAdds /dir/name to the list of directories searched for Fortran 90 modules

-r8Makes 8-byte REALs the default

-fp-model strictDisables optimizations that can change the results of floating point calculations

Vendor Documentation

Get detailed vendor documentation from http://www.osc.edu/supercomputing/manuals/.

859-218-HELP (859-218-4357) 218help@uky.edu