Skip to content

Commit

Permalink
examples/clusters/adastra
Browse files Browse the repository at this point in the history
  • Loading branch information
paugier committed Sep 4, 2024
1 parent f1b66c6 commit 1764ed6
Show file tree
Hide file tree
Showing 3 changed files with 117 additions and 0 deletions.
84 changes: 84 additions & 0 deletions doc/examples/clusters/adastra/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Using Fluidsim on Adastra (CINES)

We show in this directory
(<https://foss.heptapod.net/fluiddyn/fluidsim/-/tree/branch/default/doc/examples/clusters/adastra>)
how to use Fluidsim on Adastra. The main documentation for this HPC platform is
[here](https://dci.dci-gitlab.cines.fr/webextranet/index.html).
We use modules produced by [Spack](https://spack.io/).

## Get a login and setup ssh

Get an account on <https://www.edari.fr/>.

Set the alias

```sh
alias sshadastra='ssh -X [email protected]'
```

## Setup Mercurial and clone fluidsim

Install and setup Mercurial as explained
[here](https://fluidhowto.readthedocs.io/en/latest/mercurial/install-setup.html). Clone
the Fluidsim repository in `$HOME/dev`.

```{warning}
The file `.bashrc` is not sourced at login so the user should to it is use pipx install applications.
```

```sh
mkdir ~/dev
cd ~/dev
. ~/.bashrc
hg clone https://foss.heptapod.net/fluiddyn/fluidsim
cd ~/dev/fluidsim/doc/examples/clusters/adastra

```

## Setup a virtual environment

Execute the script `setup_venv.sh`.

```sh
./setup_venv.sh
```

```{literalinclude} ./setup_venv.sh
```

Due to a bug in Meson (the build system used by few fluidfft pluggins, see
https://github.com/mesonbuild/meson/pull/13619), we need to complete the installation:

```sh
module purge
module load cpe/23.12
module load craype-x86-genoa
module load PrgEnv-gnu
module load gcc/13.2.0
module load cray-hdf5-parallel cray-fftw
module load cray-python

. ~/venv-fluidsim/bin/activate

# --no-build-isolation because of the Meson bug

# because of --no-build-isolation
cd ~/dev
hg clone https://github.com/paugier/meson.git
cd meson
hg up mpi-detection
pip install -e .
cd
pip install ninja fluidfft-builder
#

pip install fluidfft-fftwmpi --no-binary fluidfft-fftwmpi --no-build-isolation --force-reinstall --no-cache-dir --no-deps -v
```

## Install Fluidsim from source

```sh
cd ~/dev/fluidsim
# update to the wanted commit
pip install . -v -C setup-args=-Dnative=true
```
32 changes: 32 additions & 0 deletions doc/examples/clusters/adastra/setup_venv.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/env bash
set -e

module purge
module load cpe/23.12
module load craype-x86-genoa
module load PrgEnv-gnu
module load gcc/13.2.0
module load cray-hdf5-parallel cray-fftw
module load cray-python

cd $HOME
python -m venv venv-fluidsim
. ~/venv-fluidsim/bin/activate

# install fluidsim and all dependencies from wheels!
pip install "fluidsim[fft,test]"

# fix/improve few packages (force recompilation)
pip install fluidfft --no-binary fluidfft -C setup-args=-Dnative=true --force-reinstall --no-cache-dir --no-deps -v

CC=mpicc pip install mpi4py --no-binary mpi4py --force-reinstall --no-cache-dir --no-deps -v
CC="mpicc" HDF5_MPI="ON" pip install --no-binary=h5py h5py --force-reinstall --no-cache-dir --no-deps -v

export LIBRARY_PATH=/opt/cray/pe/fftw/3.3.10.6/x86_genoa/lib
export CFLAGS="-I/opt/cray/pe/fftw/3.3.10.6/x86_genoa/include"
export PYFFTW_LIB_DIR="/opt/cray/pe/fftw/3.3.10.6/x86_genoa/lib"

pip install pyfftw --no-binary pyfftw --force-reinstall --no-cache-dir --no-deps -v

# install fluidfft pluggins
pip install fluidfft-fftw --no-binary fluidfft-fftw --force-reinstall --no-cache-dir --no-deps -v
1 change: 1 addition & 0 deletions doc/install-clusters.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,5 @@ caption: Examples
maxdepth: 1
---
./examples/clusters/gricad/README.md
./examples/clusters/adastra/README.md
```

0 comments on commit 1764ed6

Please sign in to comment.