Spack repository containing packages for installing Firedrake and some applications that depend on Firedrake:
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 installYou can specify a different compiler, MPI distribution and BLAS provider.
There is an experimental minimal install script that can add all the development packages. Usage:
./spack_install_script.sh directory_name spec_to_installTo perform the installation above:
./spack_install_script.sh firedrake py-firedrake@develop %gcc ^mpich ^openblasNote 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 %gcc@11.2.0 ^python@3.10.4 ^openblas ^mpich@4.0.2Using the AMD toolchain:
./spack_install_script.sh amd_firedrake py-firedrake@develop %aocc@3.2.0 ^python@3.10.4 ^amdblis ^amdlibflame ^amdscalapack ^mpichUsing the Intel toolchain:
./spack_install_script.sh intel_firedrake py-firedrake@develop %intel@2021.5.0 ^python@3.10.4 ^intel-oneapi-mkl ^intel-oneapi-mpiUsing the LLVM clang compiler:
./spack_install_script.sh clang_firedrake py-firedrake@develop %clang@13.0.0 ^openblas ^mpichNVidia toolchain (nvhpc) is WIP.