# An evaluation of risks associated with relying on Fortran for mission critical codes for the next 15 years

**URL:** <https://fortran-lang.discourse.group/t/an-evaluation-of-risks-associated-with-relying-on-fortran-for-mission-critical-codes-for-the-next-15-years/5644>\
**Category:** Uncategorized\
**Created:** [April 24, 2023, 10:22pm UTC](https://fortran-lang.discourse.group/t/an-evaluation-of-risks-associated-with-relying-on-fortran-for-mission-critical-codes-for-the-next-15-years/5644 "2023-04-24T22:22:43Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![JeffH](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/jeffh/32/595_2.png) [@JeffH](https://fortran-lang.discourse.group/u/JeffH)\
**Post date:** [April 25, 2023, 1:35pm UTC](https://fortran-lang.discourse.group/t/an-evaluation-of-risks-associated-with-relying-on-fortran-for-mission-critical-codes-for-the-next-15-years/5644/12 "2023-04-25T13:35:33Z")

</div>

> [@zaikunzhang](#):
>
> I am told that I am using Fortran and the compilers in the wrong way, it is insensible to expect intrinsic procedures to be performant, and it is fine to segfault.

No, you are correct here and the people who tell you not to use newer, more expressive language features that should be easier to optimize have Stockholm syndrome (where compiler developers are the kidnappers).

I’ll note that some compilers do a great job with array notation and intrinsics. The NVIDIA Fortran compiler maps the `=` operator to CUDA memcpy and offloads `TRANSPOSE`, `MATMUL` and many others to GPUs by mapping to a CUTENSOR back-end.

Cray’s compiler also does a good job with such things, although they don’t have GPU support for them at the moment.

BabelStream Fortran has array-based implementations (with OpenACC kernels and OpenMP workshare, too) so that folks can measure the difference versus loop-based versions. It’s certainly not the most complicated benchmark out there, but it’s very easy to reason about.

- [Fortran ports by jeffhammond · Pull Request #135 · UoB-HPC/BabelStream · GitHub](https://github.com/UoB-HPC/BabelStream/pull/135/files)
- [Benchmarking Fortran DO CONCURRENT on CPUs and GPUs Using BabelStream — University of Bristol](https://research-information.bris.ac.uk/en/publications/benchmarking-fortran-do-concurrent-on-cpus-and-gpus-using-babelst) (open access PDF)
- [Benchmarking Fortran DO CONCURRENT on CPUs and GPUs Using BabelStream | IEEE Conference Publication | IEEE Xplore](https://ieeexplore.ieee.org/document/10024026)

---

_[View the full topic](https://fortran-lang.discourse.group/t/an-evaluation-of-risks-associated-with-relying-on-fortran-for-mission-critical-codes-for-the-next-15-years/5644)._
