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 theintel/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 theabaqus
module.
- Ex: Selecting
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.