# Fortran Package Manager and OpenMP

**URL:** <https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667>\
**Category:** Announcements\
**Created:** [October 20, 2023, 11:11am UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667 "2023-10-20T11:11:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![gnikit](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/gnikit/32/1213_2.png) [@gnikit](https://fortran-lang.discourse.group/u/gnikit)\
**Post date:** [October 20, 2023, 11:11am UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667/1 "2023-10-20T11:11:16Z")

</div>

> **[Fortran Package Manager and OpenMP - OpenMP](https://www.openmp.org/blog/fortran-package-manager-and-openmp/)**
>
> The Fortran Package Manager, or fpm, is a community-driven, open-source build tool and package manager for the Fortran language. fpm makes it easy for beginners to develop applications. It streamlines project setup by quickly and easily generating...

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](https://www.linkedin.com/feed/update/urn:li:activity:7120829076499509248)  
Mastodon: [OpenMP ARB: “The #Fortran Package Manager uses #OpenMP to spee…” - HPC.social Mastodon](https://mast.hpc.social/@openmp_arb/111262974821603370)

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

---

<div class="post-metadata">

**Author:** ![hkvzjal](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/hkvzjal/32/3055_2.png) [@hkvzjal](https://fortran-lang.discourse.group/u/hkvzjal)\
**Post date:** [October 21, 2023, 12:01pm UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667/2 "2023-10-21T12:01:02Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![FedericoPerini](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/federicoperini/32/1750_2.png) [@FedericoPerini](https://fortran-lang.discourse.group/u/FedericoPerini)\
**Post date:** [October 21, 2023, 3:51pm UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667/3 "2023-10-21T15:51:19Z")

</div>

Metapackages provide a generic interface for additional features needed during compilation (see [Rust’s Cargo features](https://doc.rust-lang.org/cargo/reference/features.html)).

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](https://stackoverflow.com/questions/1304363/how-to-check-the-version-of-openmp-on-linux) but doable.

---

<div class="post-metadata">

**Author:** ![hkvzjal](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/hkvzjal/32/3055_2.png) [@hkvzjal](https://fortran-lang.discourse.group/u/hkvzjal)\
**Post date:** [October 21, 2023, 4:13pm UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667/4 "2023-10-21T16:13:09Z")

</div>

Perfect, got it!!

> [@FedericoPerini](#):
>
> I’m not aware of any openmp-as-an-external-library option, as it needs to be interpreted and resolved by the compiler

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

---

<div class="post-metadata">

**Author:** ![gronki](https://avatars.discourse-cdn.com/v4/letter/g/a88e4f/32.png) [@gronki](https://fortran-lang.discourse.group/u/gronki)\
**Post date:** [October 22, 2023, 1:52pm UTC](https://fortran-lang.discourse.group/t/fortran-package-manager-and-openmp/6667/5 "2023-10-22T13:52:34Z")

</div>

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.
