Skip to content

Commit

Permalink
Switch to new github-hosted version
Browse files Browse the repository at this point in the history
fixes #13, fixes #15 and fixes #19
  • Loading branch information
jbigot committed Aug 30, 2024
1 parent ef35ace commit b942d29
Show file tree
Hide file tree
Showing 29 changed files with 155 additions and 1,289 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/validate_in_docker.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
name: "validate in docker"
on:
schedule: [ { cron: "50 21 * * 0" } ] # run every Sunday 21h50
pull_request:
push:
branches: [ stable ]
Expand All @@ -12,7 +13,7 @@ jobs:
version: ['latest', 'oldest']
compiler: ['gcc', 'clang']
mpi: ['openmpi','mpich']
level: ['mini', 'all']
variant: ['mini', 'all']
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -21,5 +22,5 @@ jobs:
VERSION: ${{ matrix.version }}
COMPILER: ${{ matrix.compiler }}
MPI: ${{ matrix.mpi }}
LEVEL: ${{ matrix.level }}
VARIANT: ${{ matrix.variant }}
run: ./tests/test_install_in_docker
93 changes: 3 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,7 @@
# PDI spack repository

This is a [spack](https://spack.io/) repository with recipes for:
[DDC](https://github.com/Maison-de-la-Simulation/ddc),
Deisa,
[Gysela](https://gyselax.github.io/),
[layout-contiguous](https://github.com/Maison-de-la-Simulation/layout-contiguous),
[PDI](https://pdi.dev) and its plugins.

Each of thiese can be installed in a few simple steps:
This is a [spack](https://spack.io/) repository with recipes for [PDI](https://pdi.dev) and its plugins.
It can be installed in a few simple steps:
1. [setup spack](#step-1-setup),
2. [(optional): reuse already installed packages](#step-2-optional-reuse-already-installed-packages),
3. [(optional): setup a non-default compiler](#step-3-optional-setup-a-non-default-compiler),
Expand Down Expand Up @@ -103,91 +97,10 @@ spack unload [email protected]

## Step #4: Installation

For most packages, the installation is as simple as:
```sh
# Install <packagename>
spack install <packagename>
```

So for example, for ddc: `spack install ddc` and for deisa: `spack install deisa`.

A few package do however have slightly more complex installation instructions:
* [install Gysela](#gysela),
* [install PDI and most of its plugins](#pdi-and-most-of-its-plugins),
- [install PDI FTI plugin](#pdi-fti-plugin).


### Gysela

#### Gysela Options

Before installing Gysela, you choose select the set of options that suit you by adding elements to your spec:
* `build_type=X` to specify build type, valid values are `'Release', 'Timed', 'Deterministic', 'Debug' and 'Scorep'` (defaults to `Release`),
* `+pdi` for compilation with PDI for IOs (defaults to `off`),
* `gysela_dir=/path/to/put/gysela` to choose where to install Gysela (defaults to `$HOME/gysela`).
This information is also available by doing `spack info gysela`.

Gysela sometimes has issues when lapack is provided by open-blas.
It is thus recommended to add `^intel-mkl` (or `^netlib-lapack`) when calling spack install.

To check what you will actually install, you can run:
```sh
# Get info about what you will install with Gysela
spack solve gysela ${SPEC_ELEMENTS}
```

#### Gysela Installation proper

**Warning:**
Since Gysela is not publicly available for download, you will need a ssh key properly installed to download it.

You can install Gysela using the following instructions after you've [done the setup](#setup):
```sh
# Install Gysela
spack install gysela ${SPEC_ELEMENTS}
```


**For example on [Ruche](https://mesocentre.pages.centralesupelec.fr/user_doc/ruche/09_softwares/)**, you can do:
```sh
# Install Gysela
export GYSELA_INSTALLDIR="${HOME}/gysela_spack"
spack install --reuse gysela %[email protected] +pdi "gysela_dir=${GYSELA_INSTALLDIR}" "^intel-mkl"
```

#### Execution of spack-installed Gysela

To actually run Gysela you need to move to the installation directory selected in the previous section and load the module.

```sh
# move to the installation directory
cd "${GYSELA_INSTALLDIR}/wk"
# load the appropriate spack modules
spack load gysela
# now you can run
./subgys
```


### PDI and most of its plugins

You can install PDI and most of its plugins using the following instructions after you've [done the setup](#setup):
```sh
# Install PDI and most of its plugins
spack install pdiplugin-decl-hdf5 pdiplugin-decl-netcdf pdiplugin-decl-sion pdiplugin-flowvr pdiplugin-mpi pdiplugin-pycall pdiplugin-serialize pdiplugin-set-value pdiplugin-trace pdiplugin-user-code
spack install pdiplugin-decl-hdf5 pdiplugin-decl-netcdf pdiplugin-mpi pdiplugin-pycall pdiplugin-serialize pdiplugin-set-value pdiplugin-trace pdiplugin-user-code
```

If you only need some of the plugins, you can adapt the last line.


#### PDI FTI plugin

PDI FTI plugin depends on the [FTI recipe](https://github.com/leobago/fti-spack).
To install it, you need to use the following instructions after you've [done the setup](#setup):
```sh
# 1. Get FTI spack repo
git clone https://github.com/leobago/fti-spack spack/var/spack/repos/FTI
spack repo add spack/var/spack/repos/FTI
# 2. Install fti plugin
spack install pdiplugin-fti
```
51 changes: 0 additions & 51 deletions packages/ddc/package.py

This file was deleted.

79 changes: 0 additions & 79 deletions packages/flowvr/package.py

This file was deleted.

108 changes: 0 additions & 108 deletions packages/gysela/package.py

This file was deleted.

Loading

0 comments on commit b942d29

Please sign in to comment.