Add instructions for MPCDF clusters
The instructions are based on the marconi ones.
Would it make sense to put them rather in a bash file (where?) and reference that instead?
@johnomotani I updated the marconi GNU instructions - I am happy to revert if you prefer your version ...
I updated the marconi GNU instructions - I am happy to revert if you prefer your version ...
Looks good to me, but it'd be nice to add a bit of documentation of bout-build-deps.sh in advanced_install.rst - e.g. the environment flags that should be set, PREFIX, etc. It'd also be nice to add a suggestion to run make check or make test for the libraries - we had some issues with a few tests failing for netcdf depending on versions...
As most of the current users of Draco are using FCI, it's probably best to add openmp to the available libraries.
readthedocs is failing because we need #2308 first
A short docstring in bout-build-dep.sh with a --help flag would be lovely too.
An alternative to this is to use spack. There's some spack files already in the GPU branches, e.g. https://github.com/boutproject/BOUT-dev/blob/next-hypre-outerloop-cuda/scripts-config/lassen-examples/spack_env/bout/spack.yaml
It looks like it might also not be very much effort to create a spack package for BOUT++ itself, which might make it even easier to install all the dependencies.
Using spack would require users to learn another tool, but might mean less maintenance for BOUT++ developers.
I haven't tested the openmp flags well, they seem to configure without issues, but I have not checked that it actually uses threads ...
module load gcc/11 openmpi/4 anaconda/3/2021.05 hdf5-serial/1.12.1 fftw-serial/3.3.9 mkl/2021.3 netcdf-serial/4.7.0 petsc-real-double/3.15
might be easier ... (working on raven, didn't test cobra)
For the future, it might be easier to integrate downloading + compiling of dependencies within cmake ...?
For intel based tools:
module load intel/21.3.0 impi/2021.3 vtune/2021.5 advisor/2021.3 itac/2021.3 hdf5-serial/1.12.1 fftw-serial/3.3.9 mkl/2021.3 netcdf-serial/4.7.0 petsc-real-double/3.15
For the future, it might be easier to integrate downloading + compiling of dependencies within cmake ...?
Yes, there's a few options for this: Conan, vcpkg, CPM. Or we can have a "superproject" that includes BOUT++ and downloads and compiles all the dependencies.
This looks ok to me. We could move the script into https://github.com/boutproject/BOUT-configs
Let's move this to the BOUT-config repo and remove the machine specific instructions entirely