EasyBuild on Cray¶
As of EasyBuild v2.7.0, the support for using EasyBuild on Cray systems is considered stable.
Tt enables building/installing software using the PrgEnv
modules provided by Cray.
This page provides an overview of the current status.
For more information about this, contact:
- Guilherme Peretti-Pezzi (CSCS, Switzerland, peretti@cscs.ch)
- Kenneth Hoste (HPC-UGent, Belgium; kenneth.hoste@ugent.be)
- Petar Forai (IMBA/IMP, Austria; petar.forai@imp.ac.at).
Thanks to:
- Olli-Pekka Letho (CSC.fi)
- Tim Robinson and Guilherme Peretti-Pezzi (CSCS.ch)
- Eric Bavier (Cray)
- Brett Bode (NCSA)
for providing us access to Cray systems, for their support and for testing and contributing to this work.
Test systems¶
- Piz Daint & Piz Dora @ CSCS.ch (https://www.cscs.ch/computers/piz_daint_piz_dora/index.html)
- Santis & Brisi (TDS) @ CSCS.ch
- Sisu @ CSC.fi (https://research.csc.fi/sisu-supercomputer)
- Swan (TDS) @ Cray
- Blue Waters @ NCSA
EasyBuild toolchains¶
CrayCCE
:PrgEnv-cray
with pinned versions ofcce
,cray-libsci
andcray-mpich
CrayGNU
:PrgEnv-gnu
with pinned versions ofgcc
,cray-libsci
andcray-mpich
CrayIntel
:PrgEnv-intel
with pinned versions ofintel
,cray-libsci
andcray-mpich
CrayPGI
:PrgEnv-pgi
with pinned versions ofpgi
andcray-mpich
versions:
Cray{CCE,GNU,Intel}/2015.06
(requires Cray PE June/2015)Cray{CCE,GNU,Intel}/2015.11
(requires Cray PE November/2015)CrayGNU/2016.03
(requires Cray PE March/2016)Cray{GNU,PGI}/2016.04
(requires Cray PE April/2016)Cray{GNU,Intel}/2016.06
(requires Cray PE June/2016)
What works already?¶
(see below for more information)
- HPL (LINPACK) benchmark version 2.1
Major scientific software applications¶
- CP2K 2.6.0
- GROMACS 4.6.7
- Python 2.7.9 + numpy 1.9.2 + scipy 0.15.1
- WRF 3.6.1 (pending on Sisu)
An up-to-date list of software applications built on Cray systems at CSCS can be found https://github.com/eth-cscs/production/, see https://github.com/eth-cscs/production/tree/master/jenkins-builds.
Required EasyBuild configuration¶
Modules tool¶
- Sisu: self-installed Lmod 5.8
- Piz Daint, Dora, Swan, Santis, Brisi: system-provided environment modules 3.2.10
Example for environment modules 3.2.10:
source /opt/modules/3.2.10.3/init/bash
export PATH=/opt/modules/3.2.10.3/bin/:$PATH
export EASYBUILD_MODULES_TOOL=EnvironmentModulesC
export EASYBUILD_MODULE_SYNTAX=Tcl
Architecture¶
- the
craype-<target>
module to load must be specified using--optarch
- e.g.,
--optarch=sandybridge
results incraype-sandybridge
being loaded in the build environment used by EasyBuild
- e.g.,
You can also export this option as a shell variable. Example for sandybridge
:
export EASYBUILD_OPTARCH=sandybridge
Metadata for Cray-provided modules¶
- Easybuild provides a sample metadata file in order to use modules provided by Cray:
easybuild-framework/etc/cray_external_modules_metadata.cfg
This file is loaded by default and contains enough information to build the easyconfig files shipped with EasyBuild.
If you need to use a customized file, it can be specified using --external-modules-metadata
.
For more details see Metadata for external modules.
Major supported/tested applications¶
(in alphabetical order)
CP2K¶
- https://www.cp2k.org
- version(s): 2.6.0
eb CP2K-2.6.0-CrayGNU-2015.06.eb -dr
GROMACS¶
- https://www.gromacs.org
- version(s): 4.6.7
eb GROMACS-4.6.7-CrayGNU-2015.06-mpi.eb -dr
HPL¶
- https://www.netlib.org/benchmark/hpl
- version(s): 2.1
eb HPL-2.1-CrayCCE-2015.06.eb -dr
eb HPL-2.1-CrayGNU-2015.06.eb -dr
eb HPL-2.1-CrayIntel-2015.06.eb -dr
Python + numpy/scipy¶
- https://python.org, https://www.numpy.org, https://www.scipy.org
- version(s): Python 2.7.9, numpy 1.9.2, scipy 0.15.1
eb Python-2.7.9-CrayGNU-2015.06.eb -dr
# includes a few python packages (such as mpi4py, numpy and scipy)
WRF¶
- https://www2.mmm.ucar.edu/wrf/users/
- version(s): 3.6.1
eb WRF-3.6.1-CrayGNU-2015.06-dmpar.eb --dr