I am in the process of writing some small tutorials for fpm-docs using MPI and I was surprised when I saw that fpm metapackages can only use mpif.h, which was deprecated in MPI-4.1.
Is there a benefit of using mpif.h as opposed to use mpi or even better the more modern use mpi_f08?
If not should fpm focus on supporting the modern module approaches? I would be interested to understand the complexities fpm searching for MPI modules instead.
I see now. I believe you are not seeing module support because the module capability is implemented on trunk, and has not been released to an official release yet, so if you’re using 0.9.0, it does not work.
mpi="*" literally means “use any default versions currently available”, why should restrict that to the newest versions only? I believe the choice to maximize platform and version compatibility is the reasonable one for the default case.
Semantic versioning was supposed to be coming up in fpm - that was(/is) the mechanism that should have made these restrictions possible
Little/no community feedback (maybe it’s not much used yet, or instead “no news good news”)
Bottomline comment, having mpif.h support is very useful to my use cases, as my customers use Engineering software that runs either on embarassingly old Unix clusters with ancient compilers, or on MS Windows machines.