Installing xSDK 1.1.0

This page discusses the platforms on which the xSDK 1.1.0 release has been tested and contains general instructions for building, as well as more specific instructions for select high-end computing systems. See also details about obtaining the xSDK.

As more information becomes available for building the xSDK 1.1.0 release on different platforms, that information will be posted here.. Check back for updates.

xSDK 1.1.0 general build instructions

1. After cloning spack git repo, setup spack environment
# For bash users
$ export SPACK_ROOT=/path/to/spack
$ . $SPACK_ROOT/share/spack/setup-env.sh

# For tcsh or csh users (note you must set SPACK_ROOT)
$ setenv SPACK_ROOT /path/to/spack
$ source $SPACK_ROOT/share/spack/setup-env.csh
1.1 Make sure proxy settings are set – if needed.

If a web proxy is required for internet access on the install machine, please set up proxy settings appropriately. Otherwise, Spack will fail to “fetch” the packages of your interest.

# For bash users
$ export http_proxy=<your proxy URL>
$ export https_proxy=<your proxy URL>

# For tcsh or csh users
$ setenv http_proxy <your proxy URL>
$ setenv https_proxy <your proxy URL>
2. Setup spack compilers
spack compiler find

Spack compiler configuration is stored in $HOME/.spack/$UNAME/compilers.yaml and can be checked with

spack compiler list
3. Edit/update packages.yaml file to specify any system/build tools needed for xSDK installation.

Although Spack can install required build tools, it can be convenient to use preinstalled tools – if already installed. Such preinstalled packages can be specified to spack in $HOME/.spack/packages.yaml config file. The following is an example from a Linux build.

packages:
  mpich:
    buildable: false
    externals:
    - spec: mpich@4.0.1%gcc@9.4.0
      prefix: /software/mpich-4.0.1
  perl:
    buildable: false
    externals:
    - spec: perl@5.30.0
      prefix: /usr
  all:
    providers:
      mpi: [mpich]
      blas: [netlib-lapack]
      lapack: [netlib-lapack]
4. Install xSDK

After the edit, xSDK packages and external dependencies can be installed with a single command:

 spack install xsdk@1.1.0

Note: One can install xsdk packages with cuda enabled on Nvidia GPU

 spack install xsdk@1.1.0+cuda cuda_arch=70 (V100) or cuda_arch=80 (A100) 

Or rocm enabled on AMD GPU

spack install xsdk@1.1.0+rocm amdgpu_target=gfx90a (MI-250)
5. (Optional) Install xSDK with modules.

Optionally one can install xsdk packages as modules.

spack config add "modules:default:enable:[tcl]"
spack install lmod
source $(spack location -i lmod)/lmod/lmod/init/bash
source share/spack/setup-env.sh
spack install xsdk@1.1.0
6. (Optional) Load xSDK module and its sub-modules.

Now you can load xSDK environment. Try Spack’s load command:

spack load xsdk

Then, module avail generates the following output, for example:

   amrex/24.10-gcc-11.4.0-vze27yj
   arborx/1.7-gcc-11.4.0-mc63i7r
   arpack-ng/3.9.0-gcc-11.4.0-ogkwucz
   autoconf-archive/2023.02.20-gcc-11.4.0-wsowuxm
   autoconf/2.71-gcc-11.4.0-nhxpaj4
   automake/1.16.5-gcc-11.4.0-3lyaz5f
   bc/1.07.1-gcc-11.4.0-p52jpbd
   berkeley-db/18.1.40-gcc-11.4.0-3tsbmpz
   bison/3.8.2-gcc-11.4.0-3gt2x6e
   blaspp/2024.10.26-gcc-11.4.0-j7mppli
   blt/0.4.1-gcc-11.4.0-vh5qs4n
   boost/1.86.0-gcc-11.4.0-dqdgssc
   butterflypack/3.2.0-gcc-11.4.0-blyraym
   bzip2/1.0.8-gcc-11.4.0-fqahj6k
   ca-certificates-mozilla/2023-05-30-gcc-11.4.0-izb4xkb
   camp/0.2.3-gcc-11.4.0-euy6w2x
   cmake/3.30.5-gcc-11.4.0-pv4z5wi
   curl/8.10.1-gcc-11.4.0-vuxozik
   datatransferkit/3.1.1-gcc-11.4.0-7s32jzv
   dealii/9.6.0-gcc-11.4.0-f2jq3fm
   diffutils/3.8-gcc-11.4.0-enmvrff
   ed/1.4-gcc-11.4.0-4s2hf4v
   eigen/3.4.0-gcc-11.4.0-i7addxo
   expat/2.6.4-gcc-11.4.0-rx7r5gj
   fftw/3.3.10-gcc-11.4.0-xq6adql
   findutils/4.8.0-gcc-11.4.0-spqruwh
   gcc-runtime/11.4.0-gcc-11.4.0-rk4sa2m
   gdbm/1.23-gcc-11.4.0-u2txuht
   gettext/0.22.5-gcc-11.4.0-43uvn56
   ginkgo/1.8.0-gcc-11.4.0-gcdoq6k
   glibc/2.35-gcc-11.4.0-kpqgx3w
   gmake/4.3-gcc-11.4.0-qube4pz
   gmp/6.3.0-gcc-11.4.0-pgnjzuj
   gsl/2.8-gcc-11.4.0-ddxh2i4
   hdf5/1.14.5-gcc-11.4.0-5mj6q6c
   heffte/2.4.1-gcc-11.4.0-6lf7cow
   hiop/1.1.0-gcc-11.4.0-j2ih343
   hwloc/2.11.1-gcc-11.4.0-sjxhoox
   hypre/2.32.0-gcc-11.4.0-zx4x6b3
   icu4c/74.2-gcc-11.4.0-srakqqc
   intel-tbb/2021.12.0-gcc-11.4.0-ccstela
   kokkos/4.3.01-gcc-11.4.0-wlu3i4a
   krb5/1.21.3-gcc-11.4.0-32t3d52
   lapackpp/2024.10.26-gcc-11.4.0-vu6nyed
   libbsd/0.12.2-gcc-11.4.0-z7lxxpk
   libedit/3.1-20240808-gcc-11.4.0-tdwy276
   libevent/2.1.12-gcc-11.4.0-za3gdrp
   libffi/3.4.6-gcc-11.4.0-cemn7d7
   libiconv/1.17-gcc-11.4.0-6t7jdey
   libmd/1.0.4-gcc-11.4.0-yczw6gt
   libpciaccess/0.17-gcc-11.4.0-7piokur
   libtool/2.4.6-gcc-11.4.0-wh26o3c
   libxcrypt/4.4.35-gcc-11.4.0-gotl2hx
   libxml2/2.13.4-gcc-11.4.0-3brda7f
   libyaml/0.2.5-gcc-11.4.0-6g47gb6
   lmod/8.7.37-gcc-11.4.0-saasvrt
   lua-luafilesystem/1.8.0-gcc-11.4.0-u5keq4q
   lua-luaposix/36.1-gcc-11.4.0-c63imth
   lua/5.4.6-gcc-11.4.0-nm5j4fq
   m4/1.4.18-gcc-11.4.0-6g7hqnf
   meson/1.5.1-gcc-11.4.0-xxbde5f
   metis/5.1.0-gcc-11.4.0-uozlsx3
   mfem/4.7.0-gcc-11.4.0-cvpudmr
   mpfr/4.2.1-gcc-11.4.0-oyi4w7n
   muparser/2.3.4-gcc-11.4.0-fxdixyq
   ncurses/6.5-gcc-11.4.0-sdxxdzn
   netlib-scalapack/2.2.0-gcc-11.4.0-kb2bise
   nghttp2/1.63.0-gcc-11.4.0-lk5tcer
   ninja/1.12.1-gcc-11.4.0-rappvrt
   numactl/2.0.18-gcc-11.4.0-f76flyu
   omega-h/10.8.6-scorec-gcc-11.4.0-ivtgqce
   openblas/0.3.28-gcc-11.4.0-wotloqq
   openmpi/5.0.5-gcc-11.4.0-4u4dahm
   openssh/9.9p1-gcc-11.4.0-ylzsjbv
   openssl/3.4.0-gcc-11.4.0-jwbrhsa
   p4est/2.8-gcc-11.4.0-brtushz
   parmetis/4.0.3-gcc-11.4.0-rgym6mo
   perl/5.40.0-gcc-11.4.0-brfsuiw
   petsc/3.22.1-gcc-11.4.0-v7xy7qd
   phist/1.12.1-gcc-11.4.0-4afcxjm
   pkgconf/2.2.0-gcc-11.4.0-tpfzpti
   plasma/24.8.7-gcc-11.4.0-5pax5zm
   pmix/5.0.3-gcc-11.4.0-2hczeug
   precice/3.1.2-gcc-11.4.0-43v7jj7
   pumi/2.2.9-gcc-11.4.0-rxd6ul5
   py-cython/3.0.11-gcc-11.4.0-isuhkbe
   py-flit-core/3.9.0-gcc-11.4.0-pezqwug
   py-libensemble/1.4.2-gcc-11.4.0-3bj7orz
   py-meson-python/0.16.0-gcc-11.4.0-7wvmrc4
   py-mpi4py/4.0.1-gcc-11.4.0-z547bef
   py-numpy/2.1.2-gcc-11.4.0-5nmr5id
   py-packaging/24.1-gcc-11.4.0-43yvkyr
   py-petsc4py/3.22.1-gcc-11.4.0-yebf6y3
   py-pip/23.1.2-gcc-11.4.0-dhikkb5
   py-psutil/5.9.5-gcc-11.4.0-yy4slot
   py-pydantic/1.10.9-gcc-11.4.0-amxbdqd
   py-pyproject-metadata/0.7.1-gcc-11.4.0-4xq5ccx
   py-pyyaml/6.0.2-gcc-11.4.0-ycientw
   py-setuptools/69.2.0-gcc-11.4.0-ex7yovw
   py-tomli/2.0.1-gcc-11.4.0-vi5xzc2
   py-typing-extensions/4.12.2-gcc-11.4.0-6je3px3
   py-wheel/0.41.2-gcc-11.4.0-2w2iwja
   python-venv/1.0-gcc-11.4.0-6cnbpiq
   python/3.11.9-gcc-11.4.0-fmh6meg
   raja/0.14.0-gcc-11.4.0-7spfrxj
   re2c/3.1-gcc-11.4.0-wktnzbe
   readline/8.2-gcc-11.4.0-yo5bix4
   sed/4.9-gcc-11.4.0-zs45f3l
   slate/2024.10.29-gcc-11.4.0-cn6fprj
   slepc/3.22.1-gcc-11.4.0-7unfq3p
   sqlite/3.46.0-gcc-11.4.0-imx2t5s
   strumpack/8.0.0-gcc-11.4.0-dphe2hz
   suite-sparse/7.7.0-gcc-11.4.0-imkms2j
   sundials/7.1.1-gcc-11.4.0-c2v5355
   superlu-dist/9.1.0-gcc-11.4.0-56k2xzq
   tar/1.34-gcc-11.4.0-c326xrd
   tasmanian/8.1-gcc-11.4.0-qnahwy2
   tcl/8.6.12-gcc-11.4.0-o5aqv23
   texinfo/7.1-gcc-11.4.0-xr54ri5
   trilinos/16.0.0-gcc-11.4.0-onvregh
   umpire/6.0.0-gcc-11.4.0-2epuu5u
   unzip/6.0-gcc-11.4.0-7zwqhl2
   util-linux-uuid/2.40.2-gcc-11.4.0-77ijyja
   util-macros/1.20.1-gcc-11.4.0-6dpohyx
   xsdk/1.1.0-gcc-11.4.0-56whfuh
   xz/5.4.6-gcc-11.4.0-5vp7p7i
   zfp/1.0.0-gcc-11.4.0-n2jmnq7
   zlib-ng/2.2.1-gcc-11.4.0-ezmnevk
   zstd/1.5.6-gcc-11.4.0-ripqrwl

xSDK 1.1.0 platform testing

xSDK 1.1.0 has been updated/fixed on a regular basis on various workstations (and more)