Remove MPI_SUFFIX requirement from MPI guidelines #1335

Open
lecris wants to merge 3 commits from guidelines/mpi into main
Member

Closes #1320

There are a few issues with that guideline:

  • Using program-serial is not guaranteed to work as expected after a module load mpi, e.g. due to the use of LD_LIBRARY_PATH
  • This creates a burden on the upstream project to support this packaging decisions. E.g. a Fortran gem that I was shown: github.com/cp2k/cp2k@39fc2feded/src/start/cp2k.F (L155-L159), where the suffix of the executable is used in the execution of the code
  • It is a non-standard implementation which can affect other tools that try to find the executable through PATH

I also wanted to add the trick with %global _vpath_builddir %{_vendor}-%{_target_os}-build${MPI_SUFFIX:-_serial}, but I need to look at %configure macro to figure out how to make that work. I know for CMake, we can basically use the approach here.


While at it, I have also refactored the document a bit. I am not familiar with ASCIIIDOC, so I am not sure what is a proper way to write these.

Closes #1320 There are a few issues with that guideline: - Using `program-serial` is not guaranteed to work as expected after a `module load mpi`, e.g. due to the use of `LD_LIBRARY_PATH` - This creates a burden on the upstream project to support this packaging decisions. E.g. a Fortran gem that I was shown: https://github.com/cp2k/cp2k/blob/39fc2feded38fb50f7b1c74dba66523010dcedba/src/start/cp2k.F#L155-L159, where the suffix of the executable is used in the execution of the code - It is a non-standard implementation which can affect other tools that try to find the executable through `PATH` I also wanted to add the trick with `%global _vpath_builddir %{_vendor}-%{_target_os}-build${MPI_SUFFIX:-_serial}`, but I need to look at `%configure` macro to figure out how to make that work. I know for CMake, we can basically use the approach [here](https://github.com/wannier-developers/wannier90/pull/444). --- While at it, I have also refactored the document a bit. I am not familiar with ASCIIIDOC, so I am not sure what is a proper way to write these.
This pull request is broken due to missing fork information.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin guidelines/mpi:guidelines/mpi
git switch guidelines/mpi

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff guidelines/mpi
git switch guidelines/mpi
git rebase main
git switch main
git merge --ff-only guidelines/mpi
git switch guidelines/mpi
git rebase main
git switch main
git merge --no-ff guidelines/mpi
git switch main
git merge --squash guidelines/mpi
git switch main
git merge --ff-only guidelines/mpi
git switch main
git merge guidelines/mpi
git push origin main
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
packaging/guidelines!1335
No description provided.