Compiling from Source Code

Compiling C, C++, and Fortran code on Chinook is reasonably similar to how it is done on regular CentOS systems, with some important differences. This page will try to outline both areas, focusing mostly on the differences.

Tools

Available Compilers

The default compiler suite on Chinook is the Intel Parallel Studio XE Composer Edition, providing icc, icpc, and ifort. Intel compilers are designed for best performance on Intel processors, which can be taken advantage of on Chinook.

The GNU Compiler Collection is also available and maintained on Chinook, providing gcc, g++, and gfortran. GNU compiler compatibility is ubiquitous across free and open-source software projects, which includes much scientific software.

For docmentation on each of these compiler suites, please refer to the following:

Open-source Linear Algebra / FFT

The following free and open-source linear algebra and fast Fourier transform libraries have been built using GCC and are available for use:

  • OpenBLAS (includes LAPACK)
  • ScaLAPACK
  • FFTW

Intel MKL

The Intel Math Kernel Library (MKL) is available for use on Chinook. MKL offers Intel-tuned versions of all of the above open-source libraries, effectively replacing them.

For more information on linking against MKL, see Intel's MKL Linking Quick Start. Of particular note is the online MKL Link Line Advisor, which will generate appropriate link flag strings for your needs.

For more information on MKL itself, see Intel's MKL documentation.