easybuilders / easybuild-easyconfigs

A collection of easyconfig files that describe which software to build using which build options with EasyBuild.
https://easybuild.io
GNU General Public License v2.0
371 stars 699 forks source link

Supporting non-MPI versions of Boost, HDF5, netCDF and the like #11112

Open mboisson opened 4 years ago

mboisson commented 4 years ago

Many software packages get bumped to the MPI level not because they use MPI themselves, but rather because they depend on packages which have optional MPI support, such as Boost, HDF5, netCDF.

This is not desirable, because it requires reinstalling these for multiple versions of MPI when they could just happily live together at the same level of the hierarchy.

The proposal is to introduce -serial versions of Boost, HDF5, netCDF and the like so that applications that make no use of MPI don't have to depend on MPI without reason.

This prevents us from contributing back a lot of recipes, because dependencies are missing.

mboisson commented 4 years ago

Here are some PRs which can't be merged because of this lack : https://github.com/easybuilders/easybuild-easyconfigs/pull/11108 https://github.com/easybuilders/easybuild-easyconfigs/pull/11103 https://github.com/easybuilders/easybuild-easyconfigs/pull/11076

It trickles down quite quickly to a lot of software packages which are bumped to an MPI dependency for no valid reason.

mboisson commented 4 years ago

Note that using modaltsofname for these flavors prevents having conflicts even for sites which don't use autoswap.

mboisson commented 4 years ago

As discussed on https://github.com/easybuilders/easybuild/wiki/Conference-call-notes-20200819 I will be introducing Boost.Serial, HDF5.Serial, netCDF.Serial as I come across them.

First one (Boost.Serial) is here : https://github.com/easybuilders/easybuild-easyconfigs/pull/11145

For the 2020b toolchain, the goal will be to go to Boost(.Serial?) + Boost.MPI, etc.

mboisson commented 4 years ago

HDF5.Serial is here https://github.com/easybuilders/easybuild-easyconfigs/pull/11155

lexming commented 4 years ago

We are preparing a conf call to further discuss this issue: https://github.com/easybuilders/easybuild/wiki/Conference-Call-on-Dual-Serial-MPI-builds

smoors commented 3 years ago

new issue tracking this: https://github.com/easybuilders/easybuild/issues/649

mboisson commented 3 years ago

netCDF.Serial is here : https://github.com/easybuilders/easybuild-easyconfigs/pull/11574