Loading Modules for GCC Compilers and Libraries on SeaWulf

Audience: Faculty, Postdocs, Researchers, Staff and Students

This KB Article References: High Performance Computing
This Information is Intended for: Faculty, Postdocs, Researchers, Staff, Students
Last Updated: April 24, 2023
Average Rating: Not Rated
Your feedback is important to us, help us by logging in to rate this article and provide feedback.

Recommended GCC Stack

We provide users with a single module that effectively loads most recent versions of the GCC compiler and MVAPICH2.  To use this module, enter this command:

module load gcc-stack

The current versions of these software are GCC 7.1.0 and MVAPICH2-GCC 2.2rc1.

 

Important Version Information

When this software is updated, sometimes there are revisions that can significantly change how you should write your code and potentially alter the output of your programs. The following links provide information on update revisions and/or deprecated features:

GCC: http://gcc.gnu.org/gcc-7/changes.html (revisions)

GCC: https://gcc.gnu.org/gcc-7/porting_to.html (deprecated features)

MVAPICH2: https://mvapich.cse.ohio-state.edu/static/media/mvapich/MV2_CHANGELOG.txt

There can also be more subtle changes that are not listed in the public documentation. A particularly important variable for many high-performance computing applications is floating point precision. The following article displays how switching between versions can change the results of floating point calculations and affect the output of your programs:  https://stackoverflow.com/questions/8802831/gcc-rounding-difference-between-versions

 

Alternative GCC Stack

We also support newer version of GCC 12.1.0 on SeaWulf. If you would prefer to use this version, you will have to separately load MVAPICH2 as well. You can do so using the following commands:

module load gcc/12.1.0
module load mvapich2/gcc12.1/2.3.7

 

Additional Information

It is important to remember that you should incorporate the MVAPICH2 module in your Slurm job scripts. You can do this by simply including the relevant module load command in your script. See the following link for an example Slurm  job script: https://it.stonybrook.edu/help/kb/example-slurm-job-script

The wrappers for the MVAPICH2 GCC compilers are:

mpicc - if using the GCC C compiler
mpicxx - if using the GCC C++ compiler
mpif90 - if using the GCC Fortran compiler

More information about MVAPICH2 can be found here: http://mvapich.cse.ohio-state.edu/userguide/

 

Submit a ticket

Additional Information


Provide Feedback


Your feedback is important to us, help us by logging in to rate this article and provide feedback.

Sign in with NetID

Getting Help


The Division of Information Technology provides support on all of our services. If you require assistance please submit a support ticket through the IT Service Management system.

Submit A Quick Ticket

For More Information Contact


IACS Support System