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.
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:
- GCC Revisions: GCC 13 Changes
- GCC Deprecated Features: Porting to GCC 13
- MVAPICH 2.3.7 Changes: MVAPICH 2.3.7 Changelog
- MVAPICH 3.0 Changes: MVAPICH 3.0 Changelog
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
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