Skip to content

Commit

Permalink
Doc: install gricad_miniforge
Browse files Browse the repository at this point in the history
  • Loading branch information
paugier committed Jan 17, 2025
1 parent 859223c commit fba3b6d
Show file tree
Hide file tree
Showing 6 changed files with 135 additions and 0 deletions.
36 changes: 36 additions & 0 deletions doc/examples/clusters/gricad_miniforge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Install fluidsim with Miniforge on Dahu

We show in this directory
(<https://foss.heptapod.net/fluiddyn/fluidsim/-/tree/branch/default/doc/examples/clusters/gricad_miniforge>)
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
```
10 changes: 10 additions & 0 deletions doc/examples/clusters/gricad_miniforge/env-fluidsim-mpi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: env-fluidsim-mpi
dependencies:
- fluidsim
- openmpi
- h5py=*=mpi*
- fluidfft-fftw
- fluidfft-fftwmpi
- fluidfft-mpi_with_fftw
- ipython
- matplotlib
49 changes: 49 additions & 0 deletions doc/examples/clusters/gricad_miniforge/gricad_simple.py
Original file line number Diff line number Diff line change
@@ -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"
14 changes: 14 additions & 0 deletions doc/examples/clusters/gricad_miniforge/submit_bench_fluidfft.py
Original file line number Diff line number Diff line change
@@ -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",
)
13 changes: 13 additions & 0 deletions doc/examples/clusters/gricad_miniforge/submit_bench_fluidsim.py
Original file line number Diff line number Diff line change
@@ -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",
)
Original file line number Diff line number Diff line change
@@ -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",
)

0 comments on commit fba3b6d

Please sign in to comment.