[J3] Performance Portability and Fortran: Making Fortran cool again
Bill Long
longb at cray.com
Wed Jan 16 00:52:41 EST 2019
> On Jan 15, 2019, at 7:32 PM, Gary Klimowicz via J3 <j3 at mailman.j3-fortran.org> wrote:
>
> Hi, J3.
>
> I need your help.
>
> At the last minute (well, last week), I was asked to sit on a panel on performance portability at the Exascale Computing Project annual meeting. Thursday. Morning.
>
> There will be panelists representing C++, OpenMP and OpenACC and frameworks like Kokkos and Raja.
>
> I've been asked to have one slide and some words about Fortran 2018 and performance portability. The guidelines are along the following:
>
> Usage
> · What ECP projects are using these technologies? Why? Why not?
I don’t have the list at hand, but I assume there are Fortran codes included.
> · What's the breadth of usage outside of a particular Lab?
Fortran usage is worldwide.
And it is the language for about half of all HPC procurement benchmarks.
> · What conditions are changing that might affect adoption?
Language improvements aimed at HPC could increase adoption.
> Features
> · What key values get people to try them?
Natural expression of scientific computations.
The ability to do parallel programming without MPI. (The Argonne crowd hates anything that is not dependent on MPI. But others might be more open minded.)
Confidence that the code will not become orphaned in the future.
The ability to reuse code from the very large existing code base.
> · What could be done to make them more appealing?
Better teaching of scientific programming, parallel programming, and Fortran in Universities.
> · What trends are needed/happening with these topics (e.g., graphs/tasks in Kokkos, parity on CPUs for OpenACC)
> · (To panelists) Has your offering been compared quantitatively to other alternatives?
No doubt. Though such comparisons usually have the integrity of political debates.
> Portability
> · What factors about this programming model most affect portability?
Having an ISO language standard, with an unambiguous specification of the model, and multiple implementations, including some that are free.
> · What are the portability opportunities and challenges of this programming model?
> · How effectively has portability been assessed for this programming model, relative to others?
I’m not sure what they are trying to get at with these last two bullets. Maybe “same code works on different hardware”, in which case Fortran is in good shape.
>
> Now, that's a lot to cover.
>
> I'm thinking that there are a few important things Fortran has that the others don't:
> • Decades of code bases that continue to work and whose performance improves as compiler and hardware technology improves
> • A DSL (domain-specific language) for array operations
> • Coarrays and teams
> • DO CONCURRENT
> • Strong rules about data aliasing (supporting optimizations like vectorization)
>
> I'm sure I'm missing some obvious things.
>
> If you had 10 minutes to explain to this group why Fortran is cool again for portable performance, what would you say?
>
> Any help you can provide will be paid back at FIDS.
>
> Gary
>
> This email message is for the sole use of the intended recipient(s) and may contain confidential information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.
Bill Long longb at cray.com
Principal Engineer, Fortran Technical Support & voice: 651-605-9024
Bioinformatics Software Development fax: 651-605-9143
Cray Inc./ 2131 Lindau Lane/ Suite 1000/ Bloomington, MN 55425
More information about the J3
mailing list