What has changed with C, C++, and Fortran?

Now that the SCC has been updated to CentOS 7, you might need to recompile C, C++, or Fortran source codes (either written by yourself or downloaded from other places); you should read the following recommended best practices.

Available compilers for C, C++, or Fortran

The available compilers for C, C++, and Fortran are listed in the following table.

CentOS 6 CentOS 7
GNU compiler 4.4.7 (system default), 4.8.1, 4.9.2,
5.1.0, 5.3.0, 5.5.0, 6.2.0, 7.2.0 (module default)
4.8.5 (system default), 5.5.0, 8.1.0 (module default)
Intel compiler 2015, 2016 (module default), 2017, 2018 2018
PGI compiler 13.5, 16.5 (module default), 18.4 18.4, 18.10

When you issue the gcc compiler command under CentOS 7, the 4.8.5 version is used by default. If you wish to use a different version, execute a module load command, e.g.:

scc % module load gcc/8.1.0

To use the Intel compiler:

scc % module load intel/2018

To use the PGI compiler:

scc % module load pgi/18.10

MPI

There are two versions of MPI available for CentOS 7. The first is version 1.6.4, which is available system-wide without loading a module. Additionally, there is a newer Open MPI version (3.1.1) built with the CentOS 7 system default GNU compiler, version 4.8.5. This is the recommended version of Open MPI for CentOS 7. To use it, load the module:

scc % module load openmpi/3.1.1

Open MPI 3.1.1 is also built with the Intel compiler in a separate module. For those who prefer to use the Intel compiler, load the related modules:

scc % module load intel/2018
scc % module load openmpi/3.1.1_intel-2018

Troubleshooting

If your code does not run correctly, you should recompile it under CentOS 7. If it still doesn’t work or your program requires a particular version of compiler or MPI implementation which is not available for CentOS 7, send an email to help@scc.bu.edu.

Further information

Here is more information for your reference.