Compilers available on the IU research supercomputers

On this page:


Big Red 3

Programming environments for the Cray, Intel, PGI, and GNU Compiler Collection (GCC) compilers are provided. Each programming environment defines system paths and environment variables specific to its associated compiler collection:

Programming environment module Compiler collection
PrgEnv-cray Cray
PrgEnv-intel Intel
PrgEnv-pgi PGI
PrgEnv-gnu GCC

Once the desired programming environment module is loaded, use the appropriate compiler driver command to invoke the desired compiler; for information about each compiler driver command, see its manual page:

Compiler driver command Description Manual page
cc Invokes the C compiler for the currently loaded programming environment man cc
CC Invokes the C++ compiler for the currently loaded programming environment man CC
ftn Invokes the Fortran compiler for the currently loaded programming environment man ftn
Note:
  • To compile a program that will run on the compute nodes, you must use the appropriate compiler driver command. Do not directly invoke the Cray, GCC, Intel, or PGI compilers unless you intend to run your executable only on the login or service nodes. For example, if you compile a C++ code using pgCC or g++ compiler instead of the CC compiler driver command, the resulting executable will not run on the compute nodes.
  • The only switches that are common to all three compiler driver commands (and work across all programming environments) are -shared, -static, -dynamic, and -hugetlbfs (which links 2 MB pages instead of the default 4 KB). Additionally, the Fortran compiler driver has a -default64 switch available that works across all programming environments; it promotes all integers and real numbers to a 64-bit default, and is compatible with the 64-bit MPI libraries.

For more, see Compile C, C++, and Fortran programs on Big Red 3 at IU.

Carbonate

The GNU Compiler Collection (GCC), the Intel Compiler Suite, and Portland Group (PGI) compilers are available on Carbonate. Open MPI and MPICH wrapper compilers also are available for compiling parallel programs.

  • GNU Compiler Collection (GCC): The GNU Compiler Collection (GCC) includes compilers for C, C++, and Fortran codes:
    GNU Compiler Collection (GCC)
    Language Compile command Manual page
    C gcc man gcc
    C++ g++ man g++
    Fortran gfortran man gfortran

    To see which versions are available, on the command line, enter:

    module avail gcc
    
  • Intel Compiler Suite: The Intel Compiler Suite includes compilers for C, C++, and Fortran codes:
    Intel Compiler Suite
    Language Compile command Manual page
    C icc man icc
    C++ icpc man icpc
    Fortran ifort man ifort

    To see which versions are available, on the command line, enter:

    module avail intel
    
  • Portland Group (PGI) compilers: The Portland Group (PGI) compilers are available for C, C++, and Fortran codes:
    Portland Group (PGI) compilers
    Language Compile command Manual page
    C pgcc man pgcc
    C++ pgCC man pgCC
    Fortran 77
    Fortran 90/95
    pgf77
    pgfortran
    man pgf77
    man pgfortran

    To see which versions are available, on the command line, enter:

    module avail pgi
    
  • Open MPI and MPICH wrapper compilers: Open MPI and MPICH wrapper compilers are available for compiling parallel versions of C, C++, and Fortran codes. A wrapper compiler transparently adds the flags needed to compile and link a parallel application, and then invokes the underlying compiler to actually compile the application.
    MPI/MPICH wrapper compilers
    Language Wrapper compiler Manual page
    C mpicc man mpicc
    C++ mpic++ man mpic++
    Fortran mpifort man mpifort

    To see which wrapper compilers are available, on the command line, enter one of the following:

    module avail openmpi
    module avail mpich
    

For more, see Compile programs on Carbonate at IU.

Get help

Support for IU research supercomputers, software, and services is provided by various teams within the Research Technologies division of UITS.

For general questions about research computing at IU, contact UITS Research Technologies.

For more options, see Research computing support at IU.

This is document abby in the Knowledge Base.
Last modified on 2021-05-04 12:03:40.