Skip to content

Commit

Permalink
Add MPI example
Browse files Browse the repository at this point in the history
  • Loading branch information
zmoon committed May 29, 2024
1 parent 57f5b8a commit 1cafac7
Showing 1 changed file with 36 additions and 8 deletions.
44 changes: 36 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
ESMF_DIR=$HOME/esmf/$esmf
mkdir -p $ESMF_DIR
cd $ESMF_DIR
wget https://github.com/zmoon/gha-esmf/releases/download/v0.0.5/${esmf}.tar.gz
wget https://github.com/zmoon/gha-esmf/releases/download/v0.0.8/${esmf}.tar.gz
tar xzvf ${esmf}.tar.gz
echo "ESMFMKFILE=${ESMF_DIR}/lib/libO/Linux.gfortran.64.mpiuni.default/esmf.mk" >> "$GITHUB_ENV"
Expand All @@ -40,12 +40,40 @@ jobs:
run: cmake --build build
```
MPI (Open MPI) example:
```yaml
jobs:
builds:
runs-on: ubuntu-22.04
steps:
- name: Check out
uses: actions/checkout@v4

- name: Install dependencies
run: sudo apt-get install -y libnetcdf-dev libnetcdff-dev
liblapack-dev libopenblas-dev libopenmpi-dev openmpi-bin

- name: Fetch pre-built ESMF
run: |
esmf=8.4.2-gcc-12-mpi
ESMF_DIR=$HOME/esmf/$esmf
mkdir -p $ESMF_DIR
cd $ESMF_DIR
wget https://github.com/zmoon/gha-esmf/releases/download/v0.0.8/${esmf}.tar.gz
tar xzvf ${esmf}.tar.gz
echo "ESMFMKFILE=${ESMF_DIR}/lib/libO/Linux.gfortran.64.mpi.default/esmf.mk" >> "$GITHUB_ENV"
- name: Configure
run: FC=gfortran-12 cmake -S . -B build

- name: Build
run: cmake --build build
```
> [!NOTE]
>
> ESMF with MPI will have
>
> ```
> ESMFMKFILE=${ESMF_DIR}/lib/libO/Linux.gfortran.64.mpi.default/esmf.mk
> ```
>
> instead (slightly different path).
> Note the slight difference in `esmf.mk` path between MPI and no-MPI
> (`.mpiuni.default` vs. `.mpi.default`).

0 comments on commit 1cafac7

Please sign in to comment.