Updated 2020-05-07

Hive Cluster Software Guide

Overview

  • Make a request to add a new software here. Make sure to mention that you are requesting this software for the Hive Cluster.
  • You can view the most up-to-date list of software on the Hive Cluster by running module spider when logged into the cluster.

Available Modules

  • The following visual allows you to view the modules and versions associated with each compiler. Selecting a compiler, module, or version will update the visual with the corresponding display for the other two.
    • Ex: Selecting intel/16.0.4 will update the Module Name and Module Version display with the modules available using the intel/16.0.4 compiler.
    • Ex: Selecting the module abaqus will update the Compiler display with the compiler used by the module and the Module Version display with the available versions of the abaqus module.

PACE Meta Modules

Hive 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.

Meta Module Updates (2020)

During the May 2020 quarterly maintenance, Hive module defaults will be set to pace/2020.01, which was pace/2019.08. Functionally, default MPI and compiler are only patch updates, with the use of Intel 19.0.5 (previously 19.0.3) and MVAPICH 2.3.2 (previously 2.3.1). However, the base of software under the new hierarchy have been rebuilt, which may impact specific use of compiled and MPI-compiled applications.

Older users may be impacted. Access to the old PACE software basis can be done interactively and within scripts can be done simply by loading:

module load pace/2019.08

PACE encourages users to migrate to using the new defaults, as new software will continue to be added to the newest software basis. But older users may want to stick to using older pace modules. Please contact us at pace-support@oit.gatech.edu for any questions.

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 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-hive1 ~]$ 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.


[svemuri8@login-hive1 ~]$

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:

2019.08: Defaults: intel/19.0.3, mvapich2/2.3.1, and gcc-compatibility/8.3.0 2020.01: Defaults: intel/19.0.5, mvapich2/2.3.2, and gcc-compatibility/8.3.0

In general, Two primary stacks are supported:

  • Intel 19 and MVAPICH2 2.3 (primary)
    • By default, PACE loads 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 included with the other compilers; contact us at pace-support@oit.gatech.edu to discuss software needs.

Other MPIs

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.


This material is based upon work supported by the National Science Foundation under grant number 1828187. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.