Skip to content

firedrakeproject/firedrake-spack

Repository files navigation

Spack repository containing packages for installing Firedrake and some applications that depend on Firedrake:

Installation instructions

While the spack based installation is under evaluation please refer to the detailed install instructions here.

If you have already read those instructions, here is a quick reference: To install Firedrake you should run:

$ spack repo add <this directory>
$ spack env create -d firedrake
$ spack env activate firedrake
$ spack add py-firedrake@develop %gcc ^mpich ^openblas
$ spack install

You can specify a different compiler, MPI distribution and BLAS provider.

Install script

There is an experimental minimal install script that can add all the development packages. Usage:

./spack_install_script.sh directory_name spec_to_install

To perform the installation above:

./spack_install_script.sh firedrake py-firedrake@develop %gcc ^mpich ^openblas

Other tested configurations

Note that in each case the compiler must be installed and registered correctly with Spack before attempting to run the command.

Standard GCC 11.2 with Openblas, MPICH 4.0.2 and Python 3.10.4:

./spack_install_script.sh standard_firedrake py-firedrake@develop %[email protected] ^[email protected] ^openblas ^[email protected]

Using the AMD toolchain:

./spack_install_script.sh amd_firedrake py-firedrake@develop %[email protected]  ^[email protected] ^amdblis ^amdlibflame ^amdscalapack ^mpich

Using the Intel toolchain:

./spack_install_script.sh intel_firedrake py-firedrake@develop %[email protected] ^[email protected] ^intel-oneapi-mkl ^intel-oneapi-mpi

Using the LLVM clang compiler:

./spack_install_script.sh clang_firedrake py-firedrake@develop %[email protected] ^openblas ^mpich

NVidia toolchain (nvhpc) is WIP.

About

A repository of Spack packages for installing Firedrake

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published