Updated 2022-09-13

Phoenix Cluster Software Guide

Overview

  • Make a request to add a new software here.
  • The pace-getexample can give an example PBS script and job for some programs.
  • You can view the most up-to-date list of software on the Phoenix Cluster by running module spider when logged into the cluster.

Example PBS batch scripts command line utility (pace-getexample)

The pace-getexample command is a command-line utility is now available to download example PBS batch scripts for frequently used PACE software modules. To see a list of currently available examples, type pace-getexample --list and to see how to download and submit an example job to the queue, type pace-getexample --help. Note, not all software modules have an example. We provided examples for the most used software modules (i.e., Tier 1) at PACE.

Available Modules after Slurm Migration

Visit our software list for all software available on PACE's Slurm clusters, including Phoenix after migration.

module spider

  • The module spider command on a Cluster using RHEL7 can help you find a software and see important information about the software and its dependencies.
Using module spider to list all available modules
  • Running module spider will list all softwares and what versions of them are available on the Cluster.
[svemuri8@login-hive1 ~]$ module spider

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The following is a list of the modules and extensions currently available:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  abaqus: abaqus/2018, abaqus/2019

  abinit: abinit/8.10.3-mva2

  anaconda2: anaconda2/2019.07, anaconda2/2019.10
    Python environment

  anaconda3: anaconda3/2019.07, anaconda3/2019.10
    Python environment

  arpack-ng: arpack-ng/3.7.0-mva2

  autoconf: autoconf/2.69

  automake: automake/1.13.4, automake/1.16.1

  bedtools2: bedtools2/2.27.1

  blat: blat/35

  boost: boost/1.70.0

  bowtie2: bowtie2/2.3.5.1

  cairo: cairo/1.16.0

  charmpp: charmpp/6.9.0

  cmake: cmake/3.9.4, cmake/3.15.1, cmake/3.15.5

  comsol: comsol/5.4

  cp2k: cp2k/6.1-mva2

  cuda: cuda/10.0, cuda/10.1

lines 1-40
  • Only 40 lines will be displayed at a time. You can hit Enter to view more lines or q to exit.
Using module spider to find specific software
  • You can use module spider [software name] to find a particular software, view information about it, and see its dependencies.
[svemuri8@login-phoenix ~]$ module spider octave

------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  octave: octave/4.4.1-mva2
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Properties:


    You will need to load all module(s) on any one of the lines below before the "octave/4.4.1-mva2" module is available to load.

      gcc/8.3.0  mvapich2/2.3.1

    Help:
      GNU Octave is a high-level language, primarily intended for numerical
      computations. It provides a convenient command line interface for
      solving linear and nonlinear problems numerically, and for performing
      other numerical experiments using a language that is mostly compatible
      with Matlab. It may also be used as a batch-oriented language.

PACE Meta Modules

Phoenix demonstrates PACE's new software repository. One feature of this repository is that compilers and MPI implementations will be upgraded periodically. However, it is understood that users may need to freeze on software versions for research.

New users are introduced to software via Lmod modules. One way to understand how this works is to examine the pace module.

module show pace # we designate a version of YYYY.MM 

# part of output:
load("intel/19.0.3","mvapich2/2.3.1","gcc-compatibility/8.3.0")

Keeping up with compilers and MPIs is a part of PACE research, and enables users to determine optimizations and bug fixes with newer releases.

As can be seen above, we support software applications primarily under Intel and MVAPICH2 as first effort.

Default MPI Implementation and Compilers

PACE supports a variety of MPIs and compilers. However, building out entire ecosystems for every combination of MPI and compiler is not feasible. Hence, the PACE software team will respond to user needs; feedback is vital to shaping future software.

A current list of supported MPI and compiler combinations are in the default pace/2020.01 module, which is the default module for users that do not customize their module collections.

We primarily support:

  • Intel 19 and MVAPICH2 2.3 (primary)
    • By default, we load a gcc-compatibility module which allows for a GCC 8 library backend.
  • GCC 8 and MVAPICH2 2.3 (secondary)

Other versions of GCC exist (7 and 9), as well as the system GCC 4.8.5 in /usr/bin/gcc, which can be used when all modules are unloaded. As needed, PACE will provide support with other combinations; please note that familiar libraries will not be automatically supported with the other compilers; contact us at pace-support@oit.gatech.edu to discuss software needs.

Other MPIs and Access to MKL

We are working to support new compilers and MPIs on a case-by-case basis. However, you have access to Intel MPI simply by unloading the MVAPICH2 module. Additionally, the intel module includes support for MKL. MKL support for GCC modules is provided by using the mkl module