GCC Compiler and Library Modules on SeaWulf

GCC (GNU Compiler Collection) plays a crucial role in SeaWulf2 and SeaWulf3 computing environments. Integrated as modules, GCC provides essential compilers and libraries, known for their robustness and versatility. It simplifies development across different computing architectures, optimizing and scaling applications efficiently. 

This KB Article References: High Performance Computing
This Information is Intended for: Instructors, Researchers, Staff, Students
Created: 01/12/2017 Last Updated: 07/09/2024

Recommended GCC Stack

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

module load gcc-stack

Current Version: GCC 13.2 + MVAPICH 2.3.7

Modules: gcc/13.2.0,  mvapich2/gcc13.2/2.3.7

 

Important Notes for Users:

  • Module Loading: When utilizing MVAPICH3 with GCC compilers on SeaWulf2 and SeaWulf3, ensure integration into your workflow by including the MVAPICH2 module in your SLURM job scripts (See example). This ensures seamless integration.
  • Verifying Paths: After loading modules, use the which command to confirm correct path configurations. 
     

GCC Compilers

The GNU Compiler Collection provides a suite of compilers tailored for high-performance computing and parallel programming tasks. When integrated with tools like MVAPICH, GCC compilers offer powerful capabilities for optimizing code performance.

  • C Compiler: gcc
  • C++ Compiler: g++
  • Fortran Compiler: gfortran

 

MVAPICH 3.0 GCC Wrappers

MVAPICH provides GCC compiler wrappers that streamline the compilation process for C, C++, and Fortran codes:

mpicc for GCC C compiler (gcc)
mpicxx for GCC C++ compiler (g++)
mpif90 for GCC Fortran compiler (gfortran)

For further details on utilizing MVAPICH 2.3.7, visit the MVAPICH 2.3.7 user guide: MVAPICH User Guide. Integrating these components ensures optimal performance and compatibility within your computational workflows on these supercomputers.

 

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. For detailed information on update revisions and deprecated features, refer to the following links:

Additionally, subtle changes not always documented publicly can affect software behavior. Of particular concern in high-performance computing applications is floating point precision, as different GCC versions may yield varying results. For insights into how version switches can impact floating point calculations, refer to this discussion on Stack Overflow: GCC Rounding Difference Between Versions. These resources are crucial for maintaining compatibility and optimizing performance across software updates.

 

Alternative GCC Stack

We also support older versions of GCC and MVAPICH on SeaWulf. If you would prefer to use a custom stack, you will have to separately load the modules. See example below:

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

 

For More Information Contact


IACS Support System

Still Need Help? The best way to report your issue or make a request is by submitting a ticket.

Request Access or Report an Issue