Slashdot Mirror


NASA Runs Competition To Help Make Old Fortran Code Faster (bbc.com)

NASA is seeking help from coders to speed up the software it uses to design experimental aircraft. From a report on BBC: It is running a competition that will share $55,000 between the top two people who can make its FUN3D software run up to 10,000 times faster. The FUN3D code is used to model how air flows around simulated aircraft in a supercomputer. The software was developed in the 1980s and is written in an older computer programming language called Fortran. "This is the ultimate 'geek' dream assignment," said Doug Rohn, head of NASA's transformative aeronautics concepts program that makes heavy use of the FUN3D code. In a statement, Mr Rohn said the software is used on the agency's Pleiades supercomputer to test early designs of futuristic aircraft. The software suite tests them using computational fluid dynamics, which make heavy use of complicated mathematical formulae and data structures to see how well the designs work.

9 of 205 comments (clear)

  1. I had assumed Fortran was dead by Baron_Yam · · Score: 4, Interesting

    But a bit of googling shows that there's still more than enough justification to call it the best programming language for physics simulations.

    So... there will be Fortran programmers out there. I'd suspect, though, given that it's maintained a niche in high-end physics simulation, that anyone who would program in Fortran at the level required here currently has a job doing just that, and won't have time for a major side project with an unknown probability of paying off.

    1. Re:I had assumed Fortran was dead by nickol · · Score: 4, Interesting

      As an active Fortran programmer, I'd like to tell you that it is definitely NOT the best language for any task. It is old and also spoiled by multiple improvements. It has terrible syntax. It has entertaining semantics. And it has all these implementations also, which makes things even more interesting.
      However it is not probable that someone will be able to increase the speed of the program 10000 times. For example, I recently took a Fortran program for 16-bit DOS, running in emulator (DOSBOX), and recompiled it under 64-bit Linux. This yielded speed increase of about 20 times. My personal record in this area is 200 times, but this was PL-SQL.
      10000 times could be possible if they still use, for example, IBM PC for the program, and it will be rewritten for NVIDIA-CUDA or something parallel like this. But not for the same machine. Also the task description says that the requirement is 10-1000 times speedup.

  2. Re:What's the replacement for FORTRAN? by Baron_Yam · · Score: 4, Informative

    C++, but Fortran's pretty much the same for all but a few cases... where it's markedly better. Apparently it's also easier to learn and has a few other practical advantages.

    So the answer is that there ISN'T a replacement yet. Fortran is the programming language of choice for large physics simulations at present.

  3. my dream by phantomfive · · Score: 5, Informative

    "This is the ultimate 'geek' dream assignment,"

    Actually it sounds like what I call "work."

    --
    "First they came for the slanderers and i said nothing."
  4. Re:What's the replacement for FORTRAN? by Pope+Raymond+Lama · · Score: 4, Insightful

    They want a 10000 times speed up. They would not ask for such if the capability to do that was just lying on their hardware, idle. They either already have the GPU cores to make the calculations, and those are not in use - or they at least expect the same approach, but to make use of multiple-cores that are similarly idle. Otherwise asking for that kind of improvement is simply idiotic. (I think that for this price it is idiotic anyway, they should proper fund that thing).

    --
    -><- no .sig is good sig.
  5. Re:Did Dr. Evil think of this contest? by abies · · Score: 4, Funny

    That's big money in the 3rd world.

    From TFA:
    "The sensitive nature of the code means the competition is only open to US citizens who are over 18. "

    Unless, by 3rd world, you meant Alabama ;)

  6. Re:What's the replacement for FORTRAN? by polgair · · Score: 4, Informative

    Pleiades is just a slurm cluster. You can deploy new hardware, push your processes to be queued to the new hardware and link your run time to use cuda enabled libraries no problem.

    Switching link time and link time hooks is pretty easy on Pleiades. It's the same way you would switch between python versions, different fortran run times (intel and gnu), different mpi runtimes (openmpi/sgi enabled stuff).

    Source: worked on Advanced Vehicle Make and had to run cfd code on Pleiades.

  7. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 4, Insightful

    Jesus tits.

    Both of you should google 'Pleiades supercomputer specs'. 100 nodes of 10,000 have GPUs. They are currently at near 100% utilization. The do have enough GPU equipped nodes for someone to prove the speedup and for them to start slapping in GPUs and upgraded power supplies.

    Alternatively: Spin off the numeric parts to SSE. Use fixed point math routines.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  8. Re:What's the replacement for FORTRAN? by ShanghaiBill · · Score: 5, Informative

    They want a 10000 times speed up.

    To be fair, NASA did not say that. They said a 10 times speed up. They also said they are hoping that maybe it could be sped up even more, perhaps even by a factor of a thousand. So the journalist took the "10" and the "thousand" and multiplied them together. Then that inflated made-up number was copy-pasted into the summary.