diff --git a/doc/examples/clusters/gricad_miniforge/README.md b/doc/examples/clusters/gricad_miniforge/README.md new file mode 100644 index 00000000..563dc647 --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/README.md @@ -0,0 +1,36 @@ +# Install fluidsim with Miniforge on Dahu + +We show in this directory +() +how to use Fluidsim with Miniforge on Gricad clusters. The main documentation +for this HPC platform is [here](https://gricad-doc.univ-grenoble-alpes.fr/hpc/). + +## Install Miniforge + +```sh +wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" +bash Miniforge3-$(uname)-$(uname -m).sh -b +$HOME/miniforge3/bin/conda init +. .bashrc +conda config --set auto_activate_base false +``` + +## Install Fluidsim in a conda env + +```sh +conda env create --file https://foss.heptapod.net/fluiddyn/fluidsim/-/raw/branch/default/doc/examples/clusters/gricad_miniforge/env-fluidsim-mpi.yml +``` + +## Submit jobs + +```sh +./submit_bench_fluidfft.py +./submit_bench_fluidsim.py +``` + +For the devel script `submit_devel_bench_fluidsim.py`, one needs to be connected +to a devel login node (`ssh dahu-oar3`). + +```sh +./submit_devel_bench_fluidsim.py +``` diff --git a/doc/examples/clusters/gricad_miniforge/env-fluidsim-mpi.yml b/doc/examples/clusters/gricad_miniforge/env-fluidsim-mpi.yml new file mode 100644 index 00000000..9c7788c2 --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/env-fluidsim-mpi.yml @@ -0,0 +1,10 @@ +name: env-fluidsim-mpi +dependencies: + - fluidsim + - openmpi + - h5py=*=mpi* + - fluidfft-fftw + - fluidfft-fftwmpi + - fluidfft-mpi_with_fftw + - ipython + - matplotlib diff --git a/doc/examples/clusters/gricad_miniforge/gricad_simple.py b/doc/examples/clusters/gricad_miniforge/gricad_simple.py new file mode 100644 index 00000000..0b51e31f --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/gricad_simple.py @@ -0,0 +1,49 @@ +from pathlib import Path + +from fluiddyn.clusters.oar import ClusterOAR + + +path_miniforge = Path.home() / "miniforge3" + + +class Dahu(ClusterOAR): + name_cluster = "dahu" + has_to_add_name_cluster = False + frontends = ["dahu", "dahu-oar3"] + use_oar_envsh = False + + commands_setting_env = [ + "source /etc/profile", + f"source {path_miniforge / 'etc/profile.d/conda.sh'}", + "conda activate env-fluidsim-mpi", + ] + + +class DahuDevel(Dahu): + devel = True + frontends = ["dahu-oar3"] + + +class Dahu16_6130(Dahu): + nb_cores_per_node = 16 + resource_conditions = "cpumodel='Gold 6130' and n_cores=16" + + +class Dahu32_6130(Dahu): + nb_cores_per_node = 32 + resource_conditions = "cpumodel='Gold 6130' and n_cores=32" + + +class Dahu24_6126(Dahu): + nb_cores_per_node = 24 + resource_conditions = "cpumodel='Gold 6126' and n_cores=24" + + +class Dahu32_5218(Dahu): + nb_cores_per_node = 32 + resource_conditions = "cpumodel='Gold 5218' and n_cores=32" + + +class Dahu16_6244(Dahu): + nb_cores_per_node = 16 + resource_conditions = "cpumodel='Gold 6244' and n_cores=16" diff --git a/doc/examples/clusters/gricad_miniforge/submit_bench_fluidfft.py b/doc/examples/clusters/gricad_miniforge/submit_bench_fluidfft.py new file mode 100755 index 00000000..44ac213f --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/submit_bench_fluidfft.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +from gricad_simple import Dahu32_6130 as Cluster + +cluster = Cluster() + +for nb_nodes in [1]: + cluster.submit_command( + command="fluidfft-bench 1024 -d 3", + name_run=f"bench_fluidfft_{nb_nodes}nodes", + nb_nodes=nb_nodes, + nb_mpi_processes="auto", + walltime="01:00:00", + project="pr-strat-turb", + ) diff --git a/doc/examples/clusters/gricad_miniforge/submit_bench_fluidsim.py b/doc/examples/clusters/gricad_miniforge/submit_bench_fluidsim.py new file mode 100755 index 00000000..a3a5576e --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/submit_bench_fluidsim.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +from gricad_simple import Dahu32_6130 as Cluster + +cluster = Cluster() + +cluster.submit_command( + command="fluidsim-bench 1024 -d 3 -s ns3d -o .", + name_run="bench_fluidsim", + nb_nodes=1, + nb_mpi_processes="auto", + walltime="00:30:00", + project="pr-strat-turb", +) diff --git a/doc/examples/clusters/gricad_miniforge/submit_devel_bench_fluidsim.py b/doc/examples/clusters/gricad_miniforge/submit_devel_bench_fluidsim.py new file mode 100755 index 00000000..e1c03ba9 --- /dev/null +++ b/doc/examples/clusters/gricad_miniforge/submit_devel_bench_fluidsim.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +from gricad_simple import DahuDevel as Cluster + +cluster = Cluster() + +cluster.submit_command( + command="fluidsim-bench 256 -d 3 -s ns3d -o .", + name_run="bench_fluidsim", + nb_nodes=1, + nb_mpi_processes=2, + walltime="00:30:00", + project="pr-strat-turb", +)