Herb - there's actually two pieces to the NASA competition. 1. "Architecture" (Topcoder) -- which you describe - the part where you modify source code to improve performance. 2. Ideation (https://herox.com/HPFCC) -- This includes the overall software/hardware solution (as I understand it). Since #2 is "not limited" -- it might be worth us taking a look at the Pleiades supercomputer on which this software runs to see what might be exploitable there: https://www.nas.nasa.gov/hecc/resources/pleiades.html Perhaps there are some alternative approaches such as: - Do the Haswell and newer CPUs support instructions that Sandy Bridge/Ivy Bridge don't that might help with computation? (i.e. AVX2) - Is the code using the GPUs on the GPU enhanced nodes? - Might there be an option where installing GPUs increases performance 10X for a cost of something "cheap", like $10-20K? Is there something else "cheap" you can buy that would improve performance 10-100X? - What Infiniband exploits are there? - is the fortran code following the best practices for utilizing hardware characteristics? - How compartmentalized is the code? Does performance increase if you work on a larger data set that talks across all nodes or if you work on smaller data sets with less communications between nodes? - Even if you don't understand the equation, can the code be written in a different language to improve performance? - Can the error checking for the calculations be offloaded to another computer? handled more efficiently? How much time does each '9' of confidence cost, and can we do something with this in mind? (All of this keeping in mind they're looking for 10-1000X improvements in performance) ... Just my initial thoughts on areas of opportunity. I'm a space geek, so to me NASA is the best agency our government has and it would be great to help them.. A strong coder and a math guru are part of what's needed.. experienced computer architects, and people good at logic can also help a lot here :). On Fri, May 5, 2017 at 11:46 AM, Herb Johnson via vcf-midatlantic < vcf-midatlantic@lists.vintagecomputerfederation.org> wrote:
Thanks for the post about the NASA challenge to improve a FORTRAN program. This interests me, as an engineer of the FORTRAN era. It's actually a pretty complicated body of code. But it brings to my mind, a question about displaying vintage computers. See if what I have to say is of interest to you - I'll literally ask that question in this post.
https://www.nasa.gov/aero/nasa-issues-a-challenge-to-speed- up-its-supercomputer-code
is a link to NASA's site with more details of the challenge. While classic FORTRAN of the 70's and 80's is not overly complex, it is different from BASIC and PASCAL of the era.
But NASA's FORTRAN is much more complex. Scientists have continued to use FORTRAN for decades, and subsequent versions of FORTRAN support parallel execution, structured coding, etc. . Specific applications require libraries of complex mathematical operations; in this case, support for "CFD" or computational fluid dynamics - extremely complex physics of motions of air or liquids. The challenge points out that results must retain accurate calculations; modern FORTRANs have long representations for values.
So this is no 24-hour hacker's challenge. You'd need a background in complicated physics and in numeric computation, to have a shot at this. And I'm not sure any of this code even runs on a desktop computer, or if so it would run very slowly.
------
It's relevant to vintage computing, because FORTRAN did run on vintage personal computers; and because it ran on vintage mainframes and minicomputers. It was pretty common in the 1970's; I learned FORTRAN in my technical public high school back then.
I've thought about some kind of VCF exhibit, where old FORTRAN code would be run on a 70's or 80's microcomputer, to demonstrate calculations and show some graphical results. It would simulate some physical system. I've come across this sort of code from time to time, in old textbooks and reports.
Likewise: there's been posted discussions here, about how to display *analog* computers. After all, those computers represented physical systems, that was their purpose. They were used to model the differential equations of, say, a bouncing ball or ballistics or chemical reactions; and display some graph of results given some variables. The analog computers themselves, WERE literal models (if you understood differential equations). But in discussion, it was suggested that a modern computer, or Web access, could display a visual model of the thing being modeled, and use the analog computer's outputs to "drive the model".
OK - If these descriptions have already put you to sleep, or suggested some kind of one-liner punch line in your head, then that answers my question before I ask.
The question is: is there any interest in this kind of exhibit at a VCF? The exhibit would be, a vintage computer running a FORTRAN program, which modeled some physical system - a chemical plant, an automobile engine, a nuclear power plant, whatever - and used some other computer or means (a reduced size model, etc.) to visually demonstrate what was being "computed"?
An example of sorts, is David Gesswein's display at VCF-East 2017. He displayed graphical results (not the actual computations or the thing modeled) on graphical terminals and on paper with a plotter. It was a physically interesting exhibit, of these graphical instruments - that was the point, I understood that, I liked the exhibit.
In short - is anyone interested in actual, useful *computations* from a vintage computer? And in seeing those results displayed in some simulation of a physical system? Or would such an exhibit, be lost among graphical games and videos? Or irrelevant among displaying the computers as various brands and models with this feature or that? Those are important considerations among vintage computer owners and visitors; so is what I'm talking about.
Herb Johnson retro*technology*.com
-- Herbert R. Johnson, New Jersey in the USA http://www.retrotechnology.com OR .net preserve, recover, restore 1970's computing email: hjohnson AT retrotechnology DOT com or try later herbjohnson AT retrotechnology DOT info