<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><blockquote type="cite" class="">Modern Fortran workshops exist - but they need to be promoted more widely.</blockquote><div class=""><br class=""></div><div class="">Part of the issue may be in the use of the word “modern”, which is always relative, (see “The Modern Movement” in architecture, which seems generally to be agreed to have ended in 1960 :-)); similarly, it's not surprising if people are confused when they Google for a book on “Modern Fortran”, and the top hit is a book published in 2011[1] (admittedly if you scroll down you find that there’s a later edition including Fortran 2018), the second hit one published in 2012 [2]. (Of course, YMMV).<div><br class=""></div><div>So, perhaps we should now recognise that these standards will outlive us, and instead of trying to emphasise modernity, stick to absolute names (“Fortran 2018 Explained”…)</div><div><br class=""></div><div>The same problem likely applies to OpenMP (though at least Intel’s "OpenMP Offload Basics" online course [3] is not called “Modern OpenMP” :-)).</div><div>And the free tutorial we’ll have at the UK & Europe OpenMP Developers’ conference is "OpenMP for Computational Scientists: From serial Fortran to thousand-way parallelism on GPUs using OpenMP” [4]</div><span class=""><br class=""></span><div><div>[1] <a href="https://www.amazon.co.uk/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601429" class="">https://www.amazon.co.uk/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601429</a></div><div>[2] <a href="https://www.amazon.co.uk/Modern-Fortran-Practice-Arjen-Markus/dp/1107603471" class="">https://www.amazon.co.uk/Modern-Fortran-Practice-Arjen-Markus/dp/1107603471</a> </div><div>[3] <a href="https://software.intel.com/content/www/us/en/develop/tools/oneapi/training/openmp-offload.html" class="">https://software.intel.com/content/www/us/en/develop/tools/oneapi/training/openmp-offload.html</a> </div><div>[4] <a href="https://ukopenmpusers.co.uk/" class="">https://ukopenmpusers.co.uk/</a> </div><div class=""><br class=""></div><div class=""><blockquote type="cite" class=""><div dir="ltr" class=""><div class="">Which leads to my next point - dare I say it the IT industry exists through churn. There is always a promotion of the new,</div><div class="">which means that the old must somehow be deficient.</div></div></blockquote>Unfortunately the presumption seems to be that the old is deficient because it is old, and "my generation” didn't invent it (which is clearly perverse; I see no rush to replace English, French, … which are all older than any of our programming languages, and which adapt, as do our programming languages). </div><div class=""><br class=""></div><blockquote type="cite" class=""><div class="">On 19 Oct 2020, at 09:48, John Hearns <<a href="mailto:hearnsj@gmail.com" class="">hearnsj@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Jim you make good points here. I guess my replies are:<div class=""><br class=""></div><div class="">Modern Fortran workshops exist - but they need to be promoted more widely.</div><div class="">Which leads to my next point - dare I say it the IT industry exists through churn. There is always a promotion of the new,</div><div class="">which means that the old must somehow be deficient.</div><div class="">I question - are 'the young' taking up Fortran programming?</div><div class="">However let's look at what drove the upturn in AI - it was being able to run models on a GPU in your dorm room, or hire a GPU instance on the cloud.</div><div class="">But also shrink wrapped Tensorflow.</div><div class="">Should we be saying to kids - hey kid, you can forecast the weather / design a new car with your own PC.</div><div class="">Maybe a container with some relevant software and models?</div><div class=""><br class=""></div><div class="">And now everyone will point me towards such projects....</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 19 Oct 2020 at 09:28, Jim Cownie <<a href="mailto:jcownie@gmail.com" class="">jcownie@gmail.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">One more point, which may already have been made, but in case not…<br class="">
You are asking (my paraphrase…) <br class="">
* “Why hasn't MPI been replaced with something higher level?”<br class="">
* “Why hasn't Fortran been replaced with something higher level?”<br class="">
<br class="">
In that context, it seems worth pointing out that <br class="">
* Fortran is much higher level than it used to be (e.g. operation on whole arrays without needing loops was certainly not in FORTRAN IV or Fortran 77)<br class="">
* Since Fortran 2008, it has had support for the co-array features which mean that you can write distributed memory codes without (explicitly) using MPI, and with a syntax that looks like array indexing, rather than message passing.<br class="">
<br class="">
There’s a general educational issue here, which is that it is much easier for people to recognise that they need education to understand something if that thing is something they only just heard about, whereas even if it has many new features, if it’s something whose name they already know (and which they did a course in 15 years ago) then they think they already know all about it.<br class="">
Fortran clearly suffers from this, but so do C++, OpenMP, … <br class="">
<br class="">
-- Jim<br class="">
James Cownie <<a href="mailto:jcownie@gmail.com" target="_blank" class="">jcownie@gmail.com</a>><br class="">
Mob: +44 780 637 7146<br class="">
<br class="">
> On 15 Oct 2020, at 12:07, Oddo Da <<a href="mailto:oddodaoddo@gmail.com" target="_blank" class="">oddodaoddo@gmail.com</a>> wrote:<br class="">
> <br class="">
> On Thu, Oct 15, 2020 at 1:11 AM John Hearns <<a href="mailto:hearnsj@gmail.com" target="_blank" class="">hearnsj@gmail.com</a>> wrote:<br class="">
> This has been a great discussion. Please keep it going. <br class="">
> <br class="">
> I am all out of ammo ;). In all seriousness, it is not easy to ask these questions because it kind of can be interpreted as offensive - in a nutshell, people may perceive what I am asking as "what have y'all been doing for 20 years? Nothing?".<br class="">
>  <br class="">
> To the points on technical debt, may I also add re-validation?<br class="">
> Let's say you have a weather model which your institute has been running for 20 years.<br class="">
> If you decide to start again from fresh with code in a new language you are going to have to re-run known models<br class="">
> and debate whether or not they fit within error bounds of the old model.<br class="">
> That takes effort - which may of course be justified if you make gains in speed, flexibility or being able to use new hardware like GPUs.<br class="">
> <br class="">
> I understand all this but, of course, not everything has to do what has been done. Hopefully, there are plenty of people entering the field or coming back to it, without any technical debt.<br class="">
> <br class="">
> _______________________________________________<br class="">
> Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank" class="">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br class="">
> To change your subscription (digest mode or unsubscribe) visit <a href="https://beowulf.org/cgi-bin/mailman/listinfo/beowulf" rel="noreferrer" target="_blank" class="">https://beowulf.org/cgi-bin/mailman/listinfo/beowulf</a><br class="">
<br class="">
<br class="">
<br class="">
<br class="">
</blockquote></div>
_______________________________________________<br class="">Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" class="">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br class="">To change your subscription (digest mode or unsubscribe) visit <a href="https://beowulf.org/cgi-bin/mailman/listinfo/beowulf" class="">https://beowulf.org/cgi-bin/mailman/listinfo/beowulf</a><br class=""></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">-- Jim<br class="">James Cownie <<a href="mailto:jcownie@gmail.com" class="">jcownie@gmail.com</a>><br class="">Mob: +44 780 637 7146<br class=""><br class=""><br class=""><br class=""></div></div>

</div>
<br class=""></div></body></html>