It goes back 40 years to the dawn of computer science, before technical computing became mainstream with the advent of Unix workstations and similar powerful servers. – In the 80’s or Commodore VIC, they went to college and he learned something useful like COBOL, and a little bit of C and Pascal, or possibly RPG. And often they learned these “real” programming languages on an IBM mainframe or minicomputer, sometimes he on a DEC VAX.
Fortran predates COBOL in 1959 by two years and was used to digitize the complex mathematical formulas that underpin scientific workloads. Again, usually either an IBM mainframe or a DEC VAX. By the time he learned a bit of Fortran as part of his IBM 3081 aerospace engineering degree at Penn State University in the mid-1980s, the work was all interactive, but the hallway was full of punches as legacy program storage. The walls were lined with no card boxes. As far as we are concerned, they represented a very strange past more akin to a loom than a computer. Just then, the university installed Sun Microsystems workstations in its first technical computing lab, with Unix and C in addition to Fortran. And then everything started to change. Penn State never became a supercomputing powerhouse like some American universities, but the computing done there was typical of its time.
Looking at the aerospace engineering course catalog at Penn State University today, the only Fortran available to students is somehow tied to OneAPI, and OpenAPI is supposed to be data, so I it makes no sense to us. Parallel C++. Aerospace engineering programming courses are predominantly in C++, but also use C and MATLAB. what happened to fortran?
A better question might be: What will happen to Fortran? Responsibility for the U.S. Department of Energy’s control over the U.S. nuclear weapons stockpile. (We covered a hardware issue related to managing that stockpile a few weeks ago, but now, incidentally, we’re talking about a different but related software issue.) HPC Community As for Fortran, the researcher who formalized and quantified the growing concerns that many in the We have Timothy Randles, the environmental program manager. Includes Sandia National Laboratories and Lawrence Livermore National Laboratories.
The report they compiled Assessing the risks associated with relying on Fortran for mission-critical code over the next 15 years, which can be downloaded here. This is an interesting report. In particular, Shipman and Randles included comments from reviewers offering views contrary to those they held, to give a sense that this assessment of Fortran was not necessarily universal. But from what we’ve read, everyone in his HPC community who has Fortran code seems to have at least some concern.
Employment is the first job
Interestingly, I’ve expanded my set of search queries on Indeed.com. What I did at the beginning of the report was to provide context for the skills shortage facing DOE labs that are still using legacy Fortran applications 40 years after Fortran was put into practice. It was a core part of engineering education and not unfamiliar to computer science graduates.
Today, when you visit Indeed.com and search for Fortran jobs, you’ll find 1,050 jobs in the US. Even COBOL has 1,228 job openings. This is in stark contrast to C++, which has 32,896 jobs, and C/C++ is mentioned in 15,192 jobs. Java has 54,838 jobs and Python has 83,591 jobs. Only the COBOL-like RPG on the Power Systems platform running the IBM i operating system has fewer jobs than Fortran, with 659 job openings. (And given that there are still his 120,000 companies worldwide using his IBM i platform, it’s more about the stability of RPG programmers and their companies than the strength of the market. tells a story.)
Perhaps this is also true for Fortran programmers around the world. But as experienced programmers begin to retire, or in some cases fall ill or die, RPG shops around the world are facing their own skills crisis, and the pace is set to increase in the years to come. I can assure you that neither Fortran nor his COBOL is easy.
The good news for some HPC simulations and models, both within the DOE’s National Nuclear Security Administration program and throughout the HPC community, is that many large scale physics codes have been rewritten or coded from scratch in C++. is. Python, like the world at large, has become the dominant language for analytical applications. Although there are still many Java programmers working on system and application programs written in the Java language, Java is usually not the choice when performance is a requirement. When some Java application or framework is important enough, it is often ported to C++ for performance reasons. (Java is too far from iron, despite being theoretically easy to program.)
The skill issue with Fortran seems to be not only about learning Fortran, but about associating it with all the legacy baggage that has made it less vintage and less marketable in the future.
“Keep in mind that training staff to use Fortran is not a major challenge if the staff has sufficient experience in another programming language,” wrote the Los Alamos researchers. “Attracting (and retaining) staff on these large Fortran projects can become more difficult. Demand for this skill set is likely to remain flat for quite some time, which means that competition for the relatively small number of developers with deep Fortran expertise will intensify. This can further hurt our ability to compete on retention and salary.”
This is a separate issue from the technological developments in Fortran itself that were well described in the State of Fortran 2022 edition published by the IEEE last March and can be seen here. But even this report acknowledges that Fortran has problems, outlining:
“First, the lack of a standard library, a common resource for modern programming languages, makes mundane general-purpose programming tasks difficult. Third, Fortran does not have a community-maintained compiler like Python, Rust, or Julia that can be used to prototype new features and create language-related tools. Finally, Fortran did not have a noticeable dedicated website, which helped new users discover Fortran, learn about it, and get help from other Fortran programmers. Similarly, Fortran is no longer widely taught to university students and is no longer valued as a useful skill in industry, resulting in slow adoption of new users and large-scale scientific Fortran Projects have migrated to other languages, leaving the community of Fortran programmers scattered and isolated.”
As a result, DOE’s HPC Center is often the only customer looking for Fortran support in future dataflow engines and other emerging architectures, as a report from Los Alamos researchers points out. There is a possibility. This is the real crusher. The impression I get from both reports is that the lack of a standard library is not so much of a problem when it comes to CPU-only parallelism, where Fortran works well. GPU accelerator support is weak and fragmented, with researchers calling the current “frontier” exascale system at Oak Ridge National Laboratory and the impending “El Capitan” exascale system slated to enter Lawrence Livermore National Laboratory. I called. It supports C and C++ applications much better than Fortran applications. “There are now multiple competing standards for his Fortran-based his GPU programming (Fortran OpenMP Target Offload and OpenACC) with varying levels of robustness and support,” the researchers wrote. increase. “None of these technologies are currently reliably supported by AMD GPUs (MI250).”
To be fair, that’s why Oak Ridge and Lawrence Livermore have access to cheap flops. Helps fix software issues. As such, the US Exascale Computing Project is working on Flang, an open source Fortran compiler based on the LLVM compiler toolchain. backend. Sorcery is now part of Siemens Software (yes, a division of the German industrial giant), an open-source GCC compiler stack often partnered with Linux, with OpenMP target offload and his gfortran compiler. I’m working on an OpenACC backend. Shipman and Randles said in their report:
Common is our observation. The question is whether the reaction is strong enough to overcome inertia. . .
As Shipman and Randles see, the seven risks Fortran faces in HPC are:
- It’s very likely that you won’t be able to put a top-notch computer scientist or computer engineer on a Fortran project.
- You may not even be able to put top-notch computational scientists and physicists on your Fortran project.
- Continued maintenance of Fortran code can also result in significant human and financial maintenance costs.
- Code that relies on Fortran is unlikely to degrade in performance on future CPU technologies.
- Code that relies on Fortran may experience slower performance on GPU technology.
- Fortran will very likely prevent you from effectively using important advances in computing technology.
- It is also possible that Fortran forbids the introduction of new features and physics that can be introduced in other languages.
“Our evaluation leads to the view that continued use of Fortran in mission-critical code poses unique challenges for LANL,” they say, and indeed other The same is true for HPC centers. “Fortran will continue to have some support, especially on CPU-based systems, but the prospects for high technology systems are bleak. It increases the cost of physics and feature development.”
It’s not bleak, but its ratings aren’t encouraging either. But perhaps it will encourage those in control of the purse strings to invest more in Fortran tools and Fortran programmers. This is much cheaper than porting all of these applications. But in the long run, you’ll need it anyway as Fortran programmers age and the pool of programmers who learn NNSA code and not only master it, but harden it shrinks.
Our observation is this. In the early 1990s, being a nuclear weapon designer wasn’t cool at all. But the 1996 Comprehensive Nuclear-Test-Ban Treaty and huge investments in simulation and modeling, combined with test data from over 1,000 nuclear bomb detonations, have given us new tools to tackle bigger problems. It served a wide variety of people and attracted the smartest. Thinking on Earth to design systems and software to perform simulation tasks. We need something to make Fortran cool again. We need something more than nuclear weapons. For many young people these days, this is a minus rather than a plus.It certainly was for us, that’s how we wrote next platform, among other things, we arrive at our own kind of detente that these weapons exist and perhaps provide some sort of deterrent to World War III. It may sound crazy.
