Re: [opensuse-science] Please add prefers for MPI variants
Stefan Brüns writes:
Hi,
due to the recent MPI cleanup work in science, which has reached Factory meanwhile, there are a few new choices:
python3-vtk: python3-vtk python3-vtk-openmpi python3-vtk-openmpi2 netcdf13: libnetcdf13 libnetcdf13-openmpi libnetcdf13-openmpi2
Please add Prefer's for the non-MPI variants.
Note, for netcdf there already is "Prefer: -libnetcdf13-openmpi". There is also "(+)netcdf11", which no longer exists.
This begs the question why the mpi-variants have the same provides as the non-MPI ones (apart from the libs). I do believe we need to fix the libs issue but this should not happen by adding 'Prefer:'s. For netcdf the only overlap I see is in libnetcdf.so.13()(64bit) I agree that this needs to be fixed - I didn't have time to deal with this, yet.
Btw, is there a better way to specify this, especially for versioned libraries?
I'd assume no - you'd have to specify each version separately. Cheers, Egbert. -- To unsubscribe, e-mail: opensuse-science+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-science+owner@opensuse.org
On Dienstag, 15. Januar 2019 13:28:36 CET Egbert Eich wrote:
Stefan Brüns writes:
Hi,
due to the recent MPI cleanup work in science, which has reached Factory meanwhile, there are a few new choices:
python3-vtk: python3-vtk python3-vtk-openmpi python3-vtk-openmpi2 netcdf13: libnetcdf13 libnetcdf13-openmpi libnetcdf13-openmpi2
Please add Prefer's for the non-MPI variants.
Note, for netcdf there already is "Prefer: -libnetcdf13-openmpi". There is also "(+)netcdf11", which no longer exists.
This begs the question why the mpi-variants have the same provides as the non-MPI ones (apart from the libs). I do believe we need to fix the libs issue but this should not happen by adding 'Prefer:'s. For netcdf the only overlap I see is in libnetcdf.so.13()(64bit) I agree that this needs to be fixed - I didn't have time to deal with this, yet.
I think the library dependency is what triggers here. In general, this is correct - just install the openmpi variant of libnetcdf, run mpi-selector, make sure your mpi scheduler is set up, and you get all the additional power of your other nodes. Having different provides would force us to build *every* application with some possible mpi dependency in every flavor. I don't think that is a good approach. A different approach would be to create e.g. a "mpi-runtime" metapackage, with e.g.: mpi-runtime:serial - provides mpi-runtime mpi-runtime:openmpi1 - provides mpi-runtime mpi-runtime:mvapich2 - provides mpi-runtime ... libnetcdf13:serial - requires mpi-runtime:serial libnetcdf13:openmpi1 - requires mpi-runtime:openmpi1 ... python3-vtk:serial - requires mpi-runtime:serial ... And so on. The base system should require mpi-runtime (which in case of mpi- runtime:serial is just an empty meta package, mpi-runtime:openmpi1 should probably require the mpi-selector and openmpi1-libs etc). In the project config, a "Prefer: mpi-runtime:serial" should then be sufficient to select the right flavor for all dependent packages. What do you think about this approach? Kind regards, Stefan -- To unsubscribe, e-mail: opensuse-science+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-science+owner@opensuse.org
participants (2)
-
Brüns, Stefan
-
Egbert Eich