Managing the Software Environment on SeaWulf

As with most High Performance Computing systems, SeaWulf employs Environment Modules for managing development environments and providing software to users. Typically users initialize their environment when they log in by setting environment information for every application they will reference during the session. The Environment Modules package is a tool that simplifies shell initialization and lets users easily modify their environment during the session with modulefiles.

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: March 22, 2023
Average Rating: Not Rated
Your feedback is important to us, help us by logging in to rate this article and provide feedback.

Modules

Each modulefile contains the information needed to configure the shell for an application. For example, there are many different flavors of MPI available, each with compiler wrappers: mpicc, mpicxx, mpif77 and mpif90 and launchers: mpirun, mpiexec, and mpiexec.hydra, which may have differences depending on the flavor of MPI. The commands specific to each flavor can be accessed by loading the respective module, i.e.:

Intel MPI:

module load intel/mpi/64/2018/18.0.1 

or MVAPICH2:

module load mvapich2/gcc/64/2.2rc1

Using Modules

After logging on to Seawulf, users setup their environment by loading modules as needed into the current shell. While many users will code this information directly into their .bashrc or .bash_profile, we tend to discourage users from doing this in order to fully utilize a modular environment. 

The module command is the primary tool used to setup your environment. To get an overview, execute:

module help

The most frequently used commands include:

module avail:  returns a list of the available modules

module load (or add):  adds module to the current environment

module list:  returns a list of all the currently loaded modules

module unload (or remove):  removes a module from the current environment

module initadd: adds modulefile(s) so they start up automatically when logging in

module purge: removes all loaded modules

 

 


Recommended Software Stacks

See the following articles for our recommended software stacks:

Intel: https://it.stonybrook.edu/help/kb/loading-modules-for-intel-compilers-and-libraries-on-seawulf

GCC: https://it.stonybrook.edu/help/kb/loading-modules-for-gcc-compilers-and-libraries-on-seawulf

 

Submit a ticket

Additional Information


There are no additional resources available for this article.

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

Supported By


IACS Support System