Fortran Package Manager and OpenMP

Fortran-lang’s fpm has been been featured in a blog post from OpenMP. Congratulations and thanks to everyone that contributed and made this possible!

LinkedIn: OpenMP Architecture Review Board on LinkedIn: Fortran Package Manager and OpenMP - OpenMP
Mastodon: OpenMP ARB: “The #Fortran Package Manager uses #OpenMP to spee…” - Mastodon

Special thanks to @mvanwaveren, @mklemm, and @ivanpribec


Question, usually I use openmp with the version embedded with the compiler. How will this openmp metapackage work when working with multiple compilers? Will the metapackage be bypassed if the compiler does not support that version? Might this create a collision? Or it will only be effectively used if using a specific version of gfortran, for instance? Just wondering about the possibilities and limitations.

Metapackages provide a generic interface for additional features needed during compilation (see Rust’s Cargo features).

For openmp, this resolves to additional compiler flags (I’m not aware of any openmp-as-an-external-library option, as it needs to be interpreted and resolved by the compiler).

In the future, there is a plan to enforce version constraints, which in case of openmp, is a bit convoluted but doable.

Perfect, got it!!

This was exactly the point that got me thinking about it! Thanks for the clarification :slight_smile:

I think fpm is one of the best things that happened to Fortran. You can speak all day long how “Fortran is modern”, but only when you show people how easy you can start and build a project with fpm, this is when you can tell the surprise by their faces. I care to include fpm in all of my Fortran presentations that I do to students. (Most of them are surprised I come to the class without a tape reader.) CMake and Makefiles for Fortran are obsolete by now.