Software

System Software

Application Software & Modules

 

System Software

OS

This machine is running Enterprise Linux 9. The application of operating system patches occurs as security needs dictate.  
All nodes allow for unlimited stack usage, as well as unlimited core dump size (though disk space and server quotas may still be a limiting factor).

 

Job scheduler

The Slurm resource manager is used for resource and job management. For information on job scheduler refer to the Managing jobs using SLURM workload manager Section.

 

Compilers

Intel:

Fortran compiler (ifort)
C and C++ Compilers (icc and icpc)

MPI (Using Infiniband):
  Intel MPI with Intel Fortran  ( mpiifort)
  Intel MPI with Intel C and C++ ( mpiicc , mpicpc)

To use Intel compilers, issue:

module load intel

For information on Intel MPI Library Compiler Drivers refer to Section 2.1 of the Intel MPI Library for Linux OS Developer Guide.

 
PGI:

These compilers support OpenACC and CUDA Fortran

Fortran compiler (pgf90)
C and C++ Compilers (pgcc and pgCC)

To use PGI compilers, issue:

module load pgi64
 
GNU:

Fortran compiler (gfortran)
C and C++ Compilers (gcc and g++)

To use newer GNU compilers, issue:

module load gcc

 

Performance and Debugging tools

Allinea

Allinea DDT Debugger (ddt)

Allinea MAP Profiler (map)

Allinea Performance Reports (perf-report)

For information on DDT and MAP refer to the Using the Allinea DDT Debugger and Allinea MAP profiler Section.

To use Allinea tools, issue:

module load allinea
 
GNU:

To use newer GNU debuggers, issue:

module load gcc


This debugger can be used to debug serial programs written in C, C++, Fortran and Modula-2.

 


Scientific Libraries

MPI Message Passing Library (MPI Tutorial)
MKL Optimized Scientific Library that includes BLAS, LAPACK and FFTs. Refer to the Intel Math Kernel Library Link Line Advisor to choose the correct linking options.

 

Application Software & Modules

Since various users on the cluster need a different selection of software packages, often with different versions and configurations, the Environment Modules are used to manage multiple versions and configurations of software packages. To see available modules, issue

module avail

To search for a specific software module, issue

module spider <name_of_the_software>

To load a specific module into your environment, issue

module load <module_name>

 

To unload a module from your environment, issue

module unload <module_name>

 

To unload all modules from your environment, issue

module purge

 

To see the list of loaded modules, issue

module list

 

To get information about specific module, issue

module help <module_name>

 

 

If help is needed to install a specific software please contact hpc-help@iastate.edu. Groups can also install their own group specific software in the group's working directories. This allows the groups to install whatever version they want without affecting any other group on the system, and to update on their own schedule without having to wait for a system administrator to do it.

If you make your own module DIRECTORY, then issuing:

module use   DIRECTORY

allows those module files to be added to the list of modules which are  avalable to you. The order in which modules are loaded is imoportant when there are commands or libraries of the same name, such as different versions of MPI or of compilers. In general, the last module loaded will have precedence.