This is an update to the discussion about an “open access” lecture series for Fortran I mentioned a while back (Language Marketing for Julia compared to Fortran - #79 by gnikit). I am meeting with people from Imperial’s Graduate School early next week to discuss the idea, its feasibility (and everything else). My original proposition was to make a lecture series that would be available to the wider public, not just Imperial College Researchers, about the language’s modern features. Specifically, I provisionally proposed the following:
OOP
Co-arrays
usage of the standardised library
package managers
Additional suggestions
Fortran/C interoperability
OpenMP
Generated documentation
MPI
I understand that this is relatively short notice but I would be keen to get other people’s opinion on what the lecture series should contain.
Also I would be interested in exploring the idea of the lecture series being made by Fortran-Lang and not just a random person (i.e. me), thus giving some credence to the lecture series and making the organisation more public.
Hopefully, I will have a real updates on the matter soon!
NOTE:
If you want to get in contact with me but do not want/cannot post on this thread please send me a private message
Thanks @awvwgk I will add them to the list (especially the interoperability with C is a must know).
As for the contribution aspect that would be ideal for me as well, to get Fortran-lang vetted members to participate either by reviewing slides or presenting themselves. I suspect the latter might be a tough sell but I will bring it up.
What I was hoping we could get out of this is lecture slides produced and approved by the Fortran Language Organisation and taught by the Graduate School of Imperial College. Although, for a number of reasons that might not be feasible and we will have to pivot.
Another thing that is important IMO is MPI although teaching that is a nightmare. For the MSc students in the college we teach 2.5 weeks, 5 days a week of 3h lectures 3h practicals on C++ MPI and we still just brush the surface.
That is should array intensive parts be implemented using OOP in Fortran or just procedures in Fortran work perfectly? Some examples will be great to understand such things.
What I personally like and use the most from Fortran is just pure procedural style, everything in arguments using multidimensional arrays. So examples how to solve problems and how to design and develop solvers for various problems: fluid dynamics, molecular dynamics, electronic structure, ODE and PDE solvers (finite difference, elements and volumes; 1D, 2D and 3D), etc. How to use MPI and OpenMP to parallelize. One can get very very far with this approach, often that is all that is needed to create production grade, high performance code. For large multiphysics codes, one then typically needs to do all kinds of “accounting” where OOP features can be helpful (also if 3rd party frameworks are used, such as AMReX).
I’d certainly be keen to lend support this from the position of the BCS Fortran SG. These are the kinds of talks that we have done in the past but, largely due to lack of resources, we have tended to concentrate all our talks into one day (pre-covid era). We have people from academia, industry, compiler companies (like Intel & NAG) plus ARM etc. We also have WG5 people to talk about standards development.