OT: Nasa runs competition to help make old Fortran code faster
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-supercompu... 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
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
Herb, For this to interest more than just a few people the physical system that is modeled must be something familiar to most people. I'm not sure what that might be. Lunar Lander has been around for quite a while, is understandable at the basic level, but involves some calculation. Is that the type of thing you had in mind? Jim On Fri, 5 May 2017, Herb Johnson via vcf-midatlantic wrote:
Date: Fri, 5 May 2017 11:46:16 -0400 From: Herb Johnson via vcf-midatlantic <vcf-midatlantic@lists.vintagecomputerfederation.org> To: vcf-midatlantic <vcf-midatlantic@lists.vintagecomputerfederation.org> Cc: Herb Johnson <hjohnson@retrotechnology.info> Subject: [vcf-midatlantic] OT: Nasa runs competition to help make old Fortran code faster
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-supercompu...
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
js@sdf.org SDF Public Access UNIX System - http://sdf.lonestar.org
Herb, I would love to see something like what you describe at VCF next year! I have zero background in fortran. I've sold some original apple manuals and disks for Apple fortran, but that's the extent of my experience with fortran!! :-) As to your comments about hardware and the speed (or lack thereof) of doing such calculations on a microcomputer, first thing I thought of was accelerators. I had several running at this past VCF that are from the same period the machines were made (so everything would still be period correct) and would at least somewhat speed up the process for the display. As most of you know Apples are my thing. While I can easily provide the hardware, someone else would need to do the coding as that is beyond my skill set and not something I have the time to learn (if I am even capable of learning it!) If using my hardware is feasible, I would be very interested in helping any way I can. Tony Sent from my iPhone
On 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-supercompu...
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
From: vcf-midatlantic <vcf-midatlantic-bounces@lists.vintagecomputerfederation.org> on behalf of Herb Johnson via vcf-midatlantic <vcf-midatlantic@lists.vintagecomputerfederation.org> Sent: Friday, May 5, 2017 11:46 AM
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. Somewhere, in the depths of my basement, I have my senior project from RU (1993) . It was a simulation of random particulate transport in groundwater written in FORTRAN. It ran on my Tandy 1000A with an 8087. The vector mathematics that FORTRAN could do was amazing.
It was based on a paper from the State of Illinois. Ah, here's the title: "A "Random-Walk" Solute Transport Model for Selected Groundwater Quality Evaluations " http://www.isws.illinois.edu/pubdoc/B/ISWSB-65.pdf Used it to model pollution transport in an actual site here in northwest New Jersey. The model compared well to the actual site sampling and pump test data. It helped that I was employed by an environmental engineering firm at the time. Otherwise real life comparisons would have been tough. I had offered to port the FORTRAN code to C++ at the time. The professor just laughed. He said it would be a waste of time. He had me port this to MS FORTRAN 77 and put a C++ front end on for graphing the results. I know, not vintage, but the thing was, with little to no changes, I moved this chunk of FORTRAN IV from the mainframe/mini era to the PC.
participants (5)
-
Herb Johnson -
Jim Scheef -
John Heritage -
Kelly Leavitt -
Tony Bogan