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)
- linux-fedora41-aarch64 / gcc@14.2.1
- linux-fedora40-skylake / clang@18.1.6
- linux-fedora40-skylake / gcc@9.5.0
- linux-fedora40-skylake / gcc@14.2.1
- linux-fedora40-skylake / oneapi@2023.2.0
- linux-fedora40-skylake / oneapi@2024.2.1 [+sycl]
- linux-fedora40-skylake / oneapi@2024.2.1
- linux-ubuntu22.04-x86_64 / gcc@11.4.0 [+cuda 11.7.1]
- linux-ubuntu22.04-x86_64 / gcc@11.4.0 [+rocm 5.7.1]
- linux-ubuntu22.04-x86_64 / gcc@11.4.0 [+rocm 6.2.1]
- linux-ubuntu22.04-x86_64 / gcc@11.4.0
- linux-ubuntu22.04-x86_64 / oneapi@2024.0.2