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.

205 comments

  1. Fortran huh? by Anonymous Coward · · Score: 0

    I'll pass.

    1. Re:Fortran huh? by HornWumpus · · Score: 2

      WTF is up with slashdot?

      Not even a link to the actual contest page. Not that anybody in their right mind would touch it, I might signup. Just to look at how bad it was, perhaps to laugh/cry a little. Bet I've seen worse. Bet it doesn't use calculated GOTOs (Fortran 'feature' Goto IntVar, where IntVar contains a line number).

      I bet hidden at the bottom is a linear problem (LP) solver that bangs on sub simulations, getting those results to converge across cells faster would be another trick worth trying. Just understanding how the aero problem gets approximated to an LP would likely take longer than the contest duration though.

      This whole contest is bait for the retired old bastards that wrote the thing in the first place. They think one of them might have a trick or two, still up his sleeve.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    2. Re:Fortran huh? by lgw · · Score: 1

      A lot of work has already been done on this. My college roommate twentymumble years ago worked on a sizable project to accelerate FORTRAN for parallel processing during his senior year, and lots of effort went into that project back then.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    3. Re:Fortran huh? by Anonymous Coward · · Score: 0

      Actually some of the cleanest source code I've ever seen was a very modern/modular style of FORTRAN used in NASA SWIFT CFD software. But then some of the worst source code I've ever seen was ancient FORTRAN used in some NASA turbine design codes that made use of hacks forgotten by all but the crustiest of crusty old programmers. I'm not familar with FUN3D but given it's capabilities I would assume it looks a lot more like modern modular FORTRAN than GOTO/hollerith hellspawn code.

    4. Re:Fortran huh? by Anonymous Coward · · Score: 0

      Fortran 77 probably. Someone at ease with C or Pascal would not have a problem. They all are broadly very similar, and use the same paradigms.

    5. Re:Fortran huh? by gnick · · Score: 1

      This whole contest is bait for the retired old bastards that wrote the thing in the first place. They think one of them might have a trick or two, still up his sleeve.

      Are you suggesting that the original authors wrote the code up to 10,000 times slower than they were capable of?

      "You know that job you did? Do it again, only better this time. You could win a shiny!"

      --
      He's getting rather old, but he's a good mouse.
    6. Re:Fortran huh? by HornWumpus · · Score: 3, Insightful

      Sometimes, years after you finish a job (that you never really liked the solution to) a better solution comes to you.

      Also: In the 1980s they didn't have a 10,000 node cluster, Multicore CPUs, SSI, Nvidia, ASICs, FPGAs or Gigabytes of RAM. They barely had math coprocessors and blitters.

      If at the end of a job, you don't know how to do a it better, that proves you haven't learned anything since you started.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    7. Re:Fortran huh? by ChrisMaple · · Score: 1

      If at the end of a job, you don't know how to do a it better, that proves you haven't learned anything since you started.

      False. For a counterexample, you could have learned how to do something else better.

      --
      Contribute to civilization: ari.aynrand.org/donate
    8. Re: Fortran huh? by Anonymous Coward · · Score: 0

      ASICs and FPGAs are custom hardware. The rest is parallelization. None of your suggestions actually makes the code run faster. It is just more distributed. Given that the code may be nearly serial, even the very possibility of speeding up the code may be in question. If they are asking somebody to parallelize the code for less than they would pay a normal worker, I would tell them to fuck off. Seriously, I am getting sick and tired of companies and institutions trying to squeeze every last penny out of their workers. If they are putting this up as a job opportunity for someone, then they can fuck off as well. The job will likely be slave labor. I can't believe all of you dumbass slashdotters allow yourselves to be bullied by companies and institutions. YOU have the knowledge. YOU have the experience. THEY pay YOU what you ask for, not the other way around. Tell them to FUCK OFF if they will not pay you what you are worth.

    9. Re: Fortran huh? by HornWumpus · · Score: 1

      SSI is about massive pipelines. SSI based solutions have produced orders of magnitude performance increases for things like video encoding.

      If you could pull this off, it's a reputation cementing job. You wouldn't be 'famous', but in some circles you could pick jobs after.

      But like I say, I bet the duration is too short to do anything but tune the super tight code. The compiler won't be that bad, they've been working on Fortran compilers for a long fucking time.

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

    If this was written in COBOL, the replacement code would be in C#.

    1. 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.

    2. Re:What's the replacement for FORTRAN? by OrangeTide · · Score: 1

      COBOL will probably out live C#, even if COBOL programmers won't live that much longer.

      --
      “Common sense is not so common.” — Voltaire
    3. Re:What's the replacement for FORTRAN? by ShanghaiBill · · Score: 1

      The obvious way to speed up this code is to identify the hotspots and rewrite them in OpenCL or CUDA. There are FORTRAN interfaces to both. Then the program can run on a GPU, or array of GPUs. That is the way that most other CFD programs work.

    4. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 1

      I'd suggest PL/1

    5. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      Update it to use F#! Whoohoo! Not sure it'd be faster though...

    6. 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.
    7. Re:What's the replacement for FORTRAN? by __aaclcg7560 · · Score: 1

      COBOL will probably out live C#, even if COBOL programmers won't live that much longer.

      A coworker told me that there's good money in COBOL, either programming COBOL on the mainframes or teaching COBOL programmers to program in C#. He did the latter until HP laid him off.

    8. Re:What's the replacement for FORTRAN? by Tony+Isaac · · Score: 1

      I don't see the relationship between COBOL and C#. COBOL was very focused on data entry and reporting. C# has no such focus. Sure, it can do those things, but it is also really good at handling media and yes, even heavy math. If raw power is what's needed, C++ is probably a better option.

    9. 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.

    10. Re:What's the replacement for FORTRAN? by __aaclcg7560 · · Score: 1

      I don't see the relationship between COBOL and C#.

      As pointed out in a different comment, I have a coworker who taught COBOL programmers how to use C# before HP laid him off. A quick search indicates that C# as a replacement and/or front-end for COBOL.

    11. 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'
    12. Re:What's the replacement for FORTRAN? by Zontar_Thing_From_Ve · · Score: 1

      Yep. They are asking for a miracle at a bargain price. It reminds me of some of the job offers I've seen in the past where a company would ask for an incredibly exotic and unlikely combination of IT skills and offer pay at like 60% of what someone with strong skills in half those things would actually get.

    13. 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.

    14. Re:What's the replacement for FORTRAN? by T.E.D. · · Score: 3, Informative

      Where I work (we have tons of legacy Fortran code), generally C++. However, the real answer is not to bother. If you have a working Fortran compiler, the old code works just fine. "Porting" it to another language does nothing for you but potentially introduce new bugs. At best you'd just have the same functionality you did before (as that is the goal of a port), but we all know the best never happens. Why go through a really expensive effort that will do nothing for you but make your product worse?

      However, we do all brand new work in C++, so it will slowly take over.

      I suspect most COBOL houses will tell you the same vs C# (or Java or whatever your current language du-jour is).

      What would you tell a mechanic who wants $400 to change your perfectly functional alternator with a new one that works exactly the same, but uses the latest in alternator technology, so mechanics will enjoy working on it more? I know I'd tell him if the old one breaks and can't be fixed, put a new one in. Otherwise, I have better uses for my $400, tyvm.

    15. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 1

      If your car has a mechanical voltage regulator and the car is for driving, not looking at, best to upgrade it. Keep the old one, purists will want it.

      Points vs electronic ignition is the same.

      Virtually all the 'off the shelf' FORTRAN and COBOL programs have been replaced, decades ago. What's left is custom.

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

      I don't see the relationship between COBOL and C#.

      COBOL was a language that was designed for and sold as a language to use for writing business software. In its day, if you were writing an inventory management system or a customer management database, you would likely be doing it in COBOL.

      C# is a language that was designed for and is sold as a language to use for writing business software. If you are writing an inventory management system or a customer management database (and are in the Windows ecosystem), you will likely be doing it in C#.

      Granted, it's less of a clear cut distinction these days, but then again we now have more than three languages, and most languages come with flexible library systems, so you're less dependent on language-specific constructs for key functionality.

    17. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      I was going to enter, by my optimization provided a 10002 times speed up.

    18. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      I think this is a record for me: three posters in a row that manage to get something wrong:

      SSE contains 70 new instructions, most of which work on single precision floating point data.

      Even a basic read-through of Numerical Recipes in C (or FORTRAN) should be enough to convince you that truncating the last 32 significant bits might not be a good idea if you don't want the wings to tear off of a real aircraft during flight.

    19. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      My guess is that the code is probably unoptimizable by a compiler in its present form and that cleaning up a few key data structures, re-ordering some loops, etc. would expose some vectorizing opportunities and greatly increase cache utilization.

    20. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 1

      How close do you think solvers get before they say 'close enough' to converged. These are all approximate solutions.

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

      No, that isn't the obvious way. This isn't embarrassingly parallel. Computations depend on the results/data contained on adjacent nodes. In addition, not every algorithm can be ported to GPUs effectively. There's also scaling to consider as the overhead costs of just moving data around starts to seriously eat into overall performance.

    22. Re:What's the replacement for FORTRAN? by DickBreath · · Score: 1

      In the year 9995, I will begin seriously brushing up on my COBOL.

      In the year 9997 everyone is going to start getting worried about the Y10K issue being the end of civilization as we switch over to five digit years. There will suddenly be a lot of short term COBOL work available.

      --

      I'll see your senator, and I'll raise you two judges.
    23. Re:What's the replacement for FORTRAN? by OrangeTide · · Score: 1

      Better start training your grandchildren in the ancient ways of COBOL

      --
      “Common sense is not so common.” — Voltaire
    24. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      Virtually all the 'off the shelf' FORTRAN and COBOL programs have been replaced, decades ago. What's left is custom.

      Custom, perhaps, but not decades old. Most modern astronomical models are still written in Fortran: it works, it's fast, it's easy to parallelize, and your output is usually a text file anyway. If you want to do data visualization, you can switch to off-the-shelf code after the data is generated.

    25. Re:What's the replacement for FORTRAN? by oh_my_080980980 · · Score: 1

      Wait...who's using C#.....

    26. Re:What's the replacement for FORTRAN? by oh_my_080980980 · · Score: 1

      LMOL think again Potsy. C# is a Java rip off. Java and C# where not developer for business applications like those used for COBOL. Neither has the functions or the libraries that COBOL has for business applications. There's a reason why large financial institutions are still running COBOL and it has nothing to do with being cheap!

    27. Re:What's the replacement for FORTRAN? by oh_my_080980980 · · Score: 1

      "off the shelf" where the heck do you get off the shel COBOL programs!! They're all custom apps. Jesus tap dancing Christ.

    28. Re:What's the replacement for FORTRAN? by Lawrence_Bird · · Score: 1

      Fortran is the replacement (you know, those versions that standards groups approved after 1977) There is no need to replace with anything else.

    29. Re:What's the replacement for FORTRAN? by squiggleslash · · Score: 1

      C# and Java are usually considered "heirs to COBOL" because like COBOL they're used primarily in enterprises to write large, centralized, applications that act as the gatekeepers to the business's data. Just like COBOL, businesses know that Java and C# programmers are easy to find, and that the end result will adhere to certain standards of reliability and security.

      Yes, on a technical level they're different, and because this is Slashdot most people on Slashdot act as if Java is only used to write applets (something it's almost never used for!) and C# is used to write Windows applications, but that's not what's being referred to here, and actually if you become a Java or C# programmer, you're infinitely more likely to end up working for a large utility or someone like Ford or GE, turning business logic specs into code, than you are writing anything one of the company's customers will ever see.

      --
      You are not alone. This is not normal. None of this is normal.
    30. Re:What's the replacement for FORTRAN? by __aaclcg7560 · · Score: 1

      "off the shelf" where the heck do you get off the shel COBOL programs!!

      Library books. When I looked up computer programming books as a kid in the early 1980's, the local library only had books on financial accounting in COBOL. One book even described how to program punch cards.

    31. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      I have worked for numerous big companies that have large COBOL code bases, and none of them are moving away from COBOL, not even a little bit. Large businesses are not quick to change, unlike the universities and research organizations that might use Fortran and are far more willing to switch to another language. And the installed base of COBOL is really huge, another deterrent to change. A scientist writing his own programs for research can change languages in a flash. A bank or insurance company with millions of lines of COBOL is not going to change anything.

    32. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 1

      Now they are. You think nobody sold standard, simple by today's standards, accounting packages, written in COBOL in 1965? Jesus titty fucking Christ.

      You might even have heard of some of the companies that sold that software.

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

      How close do you think solvers get before they say 'close enough' to converged. These are all approximate solutions.

      For my codes 1E-20

    34. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 1

      So the solver never converges?

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

      It's down the hall from the over-the-counter MUMPS code.

    36. Re:What's the replacement for FORTRAN? by Anonymous Coward · · Score: 0

      So the solver never converges?

      The solver does converge with room to converge further.

    37. Re:What's the replacement for FORTRAN? by T.E.D. · · Score: 1

      You think nobody sold standard, simple by today's standards, accounting packages, written in COBOL in 1965?

      Sure. They used to sell those boxed at the Sundries stores, along with magazines and malteds, while kids danced to Rock-n-roll from the jukebox after school. But then those damn 70's kids came along with their folk music and their C code, and one-by-one all the old Cobol parlors closed down.

      We live in a fallen era.

    38. Re:What's the replacement for FORTRAN? by david_thornley · · Score: 1

      Today, computers are cheap, and writing software is expensive. Read the Silver Anniversary edition of the Mythical Man-Month; it has an essay in which Brooks says that shrink-wrap software is the closest thing he's seen to a silver bullet. It's far, far less expensive for a business to get computers and software packages than to get computers and get their own software written. Moreover, the suppliers of the canned software often have much greater domain knowledge than their customers.

      In 1965, computers were really expensive, and the software was simpler. Businesses were already doing everything the software was expected to do, and so the cost of getting a computer and software customized to the business was not much higher than the cost of getting a computer and off-the-shelf software. It's a little before my time, but I can't imagine those packages selling all that well.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    39. Re:What's the replacement for FORTRAN? by jimtheowl · · Score: 1

      "infinitely more likely to end up working for a large utility"..

      Maybe because large utilities governments can support dead weight?

      I just witnessed a large conversion project from COBOL to C# fail miserably. The consultants sales pitch sounded very much like your post.

    40. Re:What's the replacement for FORTRAN? by HornWumpus · · Score: 1

      Perhaps if the numbers are 1E-16. If you're allowed errors are # * 1ee-20 it will never solve.

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

      IBM sold business everything, one stop shopping, or so they claimed.

      Even in 1965 there were common things, canned. Accounts payable, receivable, payroll etc. Just because the hardware was expensive doesn't mean that you rebuild everything from scratch. The hardware part of development was also more expensive.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  3. 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 gnick · · Score: 1

      I suspect you're right. If NASA wants FORTRAN programmers capable of this kind of work, their best bet is to hire FORTRAN programmers capable of this kind of work. People with those skills are just sitting around idle hoping for a project to work on that may or may not pay.

      --
      He's getting rather old, but he's a good mouse.
    2. 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.

    3. Re:I had assumed Fortran was dead by Nutria · · Score: 1

      or something parallel like this

      Maybe they expect FUN3D to be parallelized for $55K. lol

      --
      "I don't know, therefore Aliens" Wafflebox1
    4. Re:I had assumed Fortran was dead by Zontar_Thing_From_Ve · · Score: 1

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

      Easiest != best

      Let's just say I'm going to need a LOT of convincing on this one. I'm old enough to have actually studied computer programming in the 1980s and even then Fortran was dying. No doubt this was done in the days when you could program in whatever you wanted on whatever machine architecture was handy with no thought to having to support it in the future.

    5. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      Fortran should be dead, but actually Fortran is big in numerical analysis, which is what runs physics simulations. However, most of that Fortran code has available translations into C. Also, interfacing C to Fortran is not difficult; you just have to use proper calling conventions.

      Fortran is actually quite fast, so it's not Fortran per se that is the problem.

      More likely, the code was written before better algorithms were known, or by people who didn't know better algorithms. So, the real problem undoubtedly is to understand what code is doing that has lots of GOTOs and no comments, and whose authors died in 1985.

    6. Re:I had assumed Fortran was dead by HornWumpus · · Score: 1

      Fortran gotos aren't so bad.

      If you see: 'goto intvar' run away.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    7. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      How do you know that is not what they are doing. Do well in the competition, you get the job. Separates the fluff nicely without having to interview etc.

    8. Re:I had assumed Fortran was dead by Baron_Yam · · Score: 1

      > I'm old enough to have actually studied computer programming in the 1980s

      I'm a bit behind that. I was playing around with BASIC and LOGO on the C=64 around that time. And a bit of whatever SpenceBBS was coded in. I didn't study a programming language until the 1990s, and they put APL in front of me. (And that didn't stick, I remember nothing!)

    9. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      It's already somewhat parallel, and is inherently hard to parallelize well.

    10. Re:I had assumed Fortran was dead by slew · · Score: 2

      or something parallel like this

      Maybe they expect FUN3D to be parallelized for $55K. lol

      Apparently, FUN3D is already paralyzed in performance (it is already parallelized)...

      Actually, I think they expect someone to rework the numerical solving algorithm or distributed solver scheme for a mere chance at a $55K prize...

      Basically, they are looking for some retired numerical solver guru with a lot of time on their hands and a chance for a few milliseconds in the spotlight (before being bribed and/or kidnapped by a foreign power and forced to give up the export controlled FUN3D source code)...

    11. Re:I had assumed Fortran was dead by mrchaotica · · Score: 2

      $55k is 1/3 - 1/2 of a year's pay for a programmer (outside of Silicon Valley, anyway). Is it that unreasonable to think that replacing a few inner loops with parallel algorithms couldn't be done by one programmer in four to six months?

      I mean, maybe if it's a horrible rat's nest of cross-cutting side effects that requires rewriting the entire program, then sure, that could be a tall order. But if it doesn't require large-scale modifications of data structures and such it seems doable.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    12. Re:I had assumed Fortran was dead by avandesande · · Score: 1

      There are vector extensions for c that make it just as fast. There isn't any reason to use Fortran any more.

      --
      love is just extroverted narcissism
    13. Re:I had assumed Fortran was dead by Nutria · · Score: 1

      $55k is 1/3 - 1/2 of a year's pay for a programmer (outside of Silicon Valley, anyway).

      Up to $55K, shared between the top two contestants.

      I mean, maybe if it's a horrible rat's nest of cross-cutting side effects that requires rewriting the entire program, then sure, that could be a tall order.

      Mid-1980s Fortran was F77 (with maybe some ANSI or DEC language extensions). It's gonna be pretty messy.

      --
      "I don't know, therefore Aliens" Wafflebox1
    14. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      Well... ATLAS or
      (A HREF="https://software.intel.com/en-us/intel-mkl">Intel Math Kernel Library (Intel MKL) can probably help with negligible change to existing source...

      The other thing is that an 1980s era program probably had to partition out matrix multiply and FFT operations across multiple compute nodes and recombine them because of memory limits. Take another look at the matrix routines and do a port of any FFT routines to use the FFTW library. With modern multi-core processors, we may be able to reduce the partitioning across nodes (e.g. use the local cores) while using SSSE3 enabled processors to vastly improve operation speed.

      These suggestions do not necessarily even need GPU to achieve a vast improvement in performance.

    15. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      > However it is not probable that someone will be able to increase the speed of the program 10000 times.

      Wrong. Been there, done that. Depends a lot on how old the code is; really old Fortran code often has crazy shit in it that prevents modern compilers from optimizing effectively... because there's so much convoluted memory management crap with ASSIGN and EQUIVALENCE and mixed stride / wrong direction memory reference patterns, or even stuff that's being re-computed constantly because at the time, there wasn't enough memory to stash it somewhere and writing it to scratch would have been slower than just recalculating it when you needed it again.

    16. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      Terrible syntax - in the 1970s UC Berkeley developed ratfor, rational fortran, FORTRAN with C syntax. Much easier to code and debug - it looks like C. The ratfor preprocessor converted it to standard FORTRAN for compiling. BTW, that's FORmula TRANslator.

    17. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      I've only programmed a little fortran, but I have used a lot of it (at least the f77 variant that seems to have a lot of maths/physics/optimisation code written in it anyhow). In my experience code written in it tends to be stable and fast (which is good) but suffers from what I'd call written-in-the-80s syndrome: it often has hard-coded limits that can be tricky to adjust, is messy, and poorly documented. If it works it's wonderful, if you need to make changes... not so much.

      In the NASA case I would hazard a guess that the code needs to be modified to take advantage of a GPU (highly parallel) architecture or similar.

    18. Re:I had assumed Fortran was dead by oh_my_080980980 · · Score: 1

      Maybe they are looking for people to improve on the routines because you know someone might have a better way of writing a routine or they may find redundant code.

    19. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      The only compelling use for fortran I've ever found is the sheer volume of useful code in fortran (esp in maths/physics), but that's a case of interface-and-forget (optionally after a quick run through f2c and cleanup/debug).

    20. Re:I had assumed Fortran was dead by squiggleslash · · Score: 0

      There really isn't. Nothing about FORTRAN is especially optimized towards mathematical applications, it's actually quite crude in comparison to, well, anything, even C.

      The reason FORTRAN took off in that sphere is because it existed at a time when its major rival was COBOL, and COBOL is verbose and database oriented. As a result, a community coalesced around FORTRAN, and built many, many, many libraries.

      Even in the 1980s, it was horribly outdated, but it had huge amounts of support, and while almost everything was "better", nothing was sufficiently compelling as to encourage huge numbers of otherwise technically illiterate scientists and mathematicians (remember, we're talking boomers and earlier generations here) to learn a whole new programming language, especially if the libraries they were used to weren't available.

      --
      You are not alone. This is not normal. None of this is normal.
    21. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 1

      So... it is in Fortran. Very likely already makes heavy use of vector and matrix operations, probably using an optimized BLAS-implementation (basic linear algebra package). That stuff is *good* - a guy named Goto (no joke) once wrote a hand-crafted processor specific assembler implementation, which beat the typical BLAS-implementation by roughly 10-20%.

      This rules out processor-level optimizations like SSE having a notable impact.

      It is already parallel. Very likely using OpenMP (parallel library for shared memory - think multiple processors in a node) and / or MPI (message passing interface - multiple nodes). Both are powerful, but not the simplest thing to learn. In combination, they are seriously hard to profile, debug and understand.

      This rules out node-level optimization / parallelization having a notable impact.

      So the only technical avenue which remains open is using a GPU as Co-Processor. This may be easy or hard, depending on the problem - if the node is doing something very simple like FFTs (fast fourier transform) and some bookkeeping it would be comparatively easy. Integrating it into the existing code will be rather hard. Basic strategy would be to look for OpenMP parallel constructs, and rework those into CUDA kernels.

      That might yield a speedup of 10-100 times, depending on the . Very likely not a 1000.

      To get the rest you would probably need to delve deeply into the mathematical / physical side. Which probably 10-20 PhDs have done before. Look into advanced basis sets for the solution, look into modern solving methods, etc. Implementing those in the code base is rather hard...

      So, to summarize:
      Historical code base, probably using rather specific libraries. Difficult mathematical & physical problem requiring extensive domain knowledge. Everything already heavily optimized by 10-20 PhD candidates with probably limited programming experience. Testing and debugging extremely hard. As it's NASA probably very strict and extensive requirements and documentation. Job requires very specialiced experience in Fortran and the capablity to design a Fortran-Cuda-interface. ... yep, I can probably do it (although I lack the CUDA experience). Give me a five year contract, 100k Euros per year and strike that stupid "only 'mericans". And allow me to work from home.

      $50k *shared*, *max* (i.e., x1000 speedup)? Go fuck yourself.

      Qualifications: Got my PhD in physics working with similar code, simulating magnetic materials using density functional theory. The equations and solvers are very likely similar enough.

    22. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      But how else am I to implement subroutines without clobbering the stack :)?

    23. Re:I had assumed Fortran was dead by ChrisMaple · · Score: 1

      C, if not very carefully controlled, is inappropriate for numerical analysis due to the feature of automatic promotion.

      --
      Contribute to civilization: ari.aynrand.org/donate
    24. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      As an active Fortran programmer, I'd like to tell you that it is definitely NOT the best language for any task.

      I second that. There are so many peculiarities (read this as: so much shit) I've already encountered in this language in my 5 years of corporate fortran experience that I would recommend anyone considering to use it for a fresh project not to choose it.

      What turned me off most so far, though, was not the mis-design of many features of the language (it's a horrible hodgepodge), but a bug in the intel fortran compiler which made it impossible to compile code where modules only contain interface blocks (which would be used in a similar fashion as header files in C/C++). At first, it only took ages to compile these modules, but at some point when I introduced more of these "header files", I got an internal compiler error which made it impossible to compile the code. I had to get rid of all of these "header files".

    25. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      If it's F77, $55k would be the suffering money they'd have to pay for even starting (ah, the fun of parsing GOTO hell). Compensation for achieving the task would be a different matter.

    26. Re:I had assumed Fortran was dead by DutchUncle · · Score: 1

      ... the days when you could program in whatever you wanted on whatever machine architecture was handy with no thought to having to support it in the future

      Perhaps you meant to say "in whatever limited languages were supported on whatever limited machine architecture was available"?

    27. Re:I had assumed Fortran was dead by Anonymous Coward · · Score: 0

      If it was that reasonable that NASA could spend 55K to gain a 10 fold improvement on existing code (when the savings that would accrue would be in the hundreds of millions), it would also be reasonable to think that it would have been done already.

  4. Ultimate 'geek' dream assignment? by xfizik · · Score: 1

    “This is the ultimate ‘geek’ dream assignment

    VS

    [the software] has strict export restrictions requiring all challenge participants to be U.S. citizens over the age of 18.

    Given the popularity of Fortran these days amongst 'geeks' (whatever they mean by that), this challenge is essentially limited to people already working on it.

    1. Re:Ultimate 'geek' dream assignment? by freeze128 · · Score: 1

      NASA will realize this when only four people show up to the competition. Then they will have to do what they should have done years ago... Convert to a more modern language.

    2. Re:Ultimate 'geek' dream assignment? by OrangeTide · · Score: 1

      There are a lot of programmers here who claim to be amazing geniuses, maybe they should spend a weekend and become FORTRAN experts and prove it.

      --
      “Common sense is not so common.” — Voltaire
    3. Re:Ultimate 'geek' dream assignment? by Baron_Yam · · Score: 1

      >they will have to do what they should have done years ago... Convert to a more modern language

      For this type of task, Fortran is still the best choice. A quick bit of google research reveals that C++ is competitive, but still a runner-up.

    4. Re:Ultimate 'geek' dream assignment? by aliquis · · Score: 1

      I know SAAB or some other Swedish company/organisation wanted to sell some software for simulation purposes for creating rockets and jets and such to China.
      There was some talk about that would be allowed, I don't know whatever the technology originally came from the US (if nothing else they supposedly helped develop JA37 Viggen) or if the problem was simply that it could be used to help develop military equipment in China.

      I don't remember the purpose, who whom or who was going to sell it and I may have gotten something wrong. I tried to Google for it but with no success.

      Anyway wouldn't surprise me if "we"/they had licensed/bought the right to use something and then thought it was worth selling it, or would rather take money now vs risk later (Swedish ABB (maker of high-current gear) for instance made cooperation with Chinese people who did the same thing .. Clever long-term?, I know GM wasn't really interested in letting SAAB Cars platforms being sold off to the Chinese either ..)

    5. Re:Ultimate 'geek' dream assignment? by phantomfive · · Score: 1

      It's not even a matter of becoming a genius.....the real question is whether it's so easy to write code more efficiently than the original programmers from the 80s, who lived and breathed efficiency.

      A) If they couldn't do it more efficiently, how easy is it going to be to find 10,000 speedup?
      B) The major potential for speed in modern days (compared the 80s) is parallelization......but that could involve a major rewrite that is not nearly worth the prize money offered. There must be a reason NASA hasn't done this themselves.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Ultimate 'geek' dream assignment? by NEDHead · · Score: 1

      Learning Fortran is trivial - 45 years ago it was a requirement for my MBA. Read the manual, wrote the required application, done in an afternoon.

      Making it run 10000 times faster? not so simple...

    7. Re:Ultimate 'geek' dream assignment? by jimbolauski · · Score: 1

      In our company there are many gray beards with specialized FORTRAN software, no one in our company which is filled with engineers, mathematicians, and programmers has volunteered to modernize this software. In fact it's a running joke that updating that software would be used as a method to get the person to leave the company in stead of firing them.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
    8. Re:Ultimate 'geek' dream assignment? by NicknameUnavailable · · Score: 0

      Given the popularity of Fortran these days amongst 'geeks' (whatever they mean by that), this challenge is essentially limited to people already working on it.

      Not to mention the measly $55k prize is split between the top 2 submitters, so you're down to $27.5k off the bat. Now subtract out the taxes for independent contracting and you're down to around $17.875k. Now assume you are working a job somewhere under $91k/yr to even bother with such a thing and you're looking at your entire salary going up to the next tax bracket AND be hit with the extra tax on everything you make for the year simply for taking on a side job and you would be extremely lucky to come away from the ordeal with $5k extra - but don't worry, it will look like around $20k, until you go to do your taxes next year and realize you have to set up a payment plan with the IRS and eat ramen noodles for 2018 while working full time. No thanks.

    9. Re:Ultimate 'geek' dream assignment? by RightwingNutjob · · Score: 1

      There must be a reason NASA hasn't done this themselves.

      Peter Principle? This is a government agency we're talking about here.

    10. Re:Ultimate 'geek' dream assignment? by nanoflower · · Score: 1

      Agreed. This is the sort of problem that probably requires understanding the software and coming up with new algorithms that are much faster but still give the same results. Not something that's likely to be done in a weekend.

    11. Re:Ultimate 'geek' dream assignment? by HornWumpus · · Score: 3, Informative

      You don't know how tax brackets work. At least in the USA.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    12. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      NASA will realize this when only four people show up to the competition. Then they will have to do what they should have done years ago... Convert to a more modern language.

      I have yet to see a language that handles mathematical computations as fast or as accurately as Fortran (remember FORmula TRANslation).

      The most likely speed improvements will come if the code could be parallelized, either initially, or updated to make use of parallelism.

    13. Re:Ultimate 'geek' dream assignment? by NicknameUnavailable · · Score: 0

      You don't know how tax brackets work. At least in the USA.

      Been bitten by them enough to know you're wrong if you claim that from what I wrote.

    14. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      I recall back in the late 90s my paycheck would be less for 45 hours than for 40 hours. It all worked out right when doing taxes at the end of the year since it was summer work between school years, but it was just strange. The 46 hour paycheck would have way more deducted for taxes. I suspect they didn't use tax brackets and just used the highest bracket they estimated you fell in. Not sure how widespread it was or just a bit of incompetence or laziness.

    15. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      If it's anything like the last government contract job I did, then NASA will put it all on a 1099 so you're forced to pay the full 35% on it like a chump. Doing government contract work -- in a tax context -- is a losing game every single time.

    16. Re:Ultimate 'geek' dream assignment? by jimbolauski · · Score: 1

      be hit with the extra tax on everything you make for the year simply for taking on a side job

      The only way this is true is if you change your W4 and over estimate a secondary income. Otherwise you just pay the tax on the award when you receive it.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
    17. Re:Ultimate 'geek' dream assignment? by HornWumpus · · Score: 3, Informative

      When you cross into a new bracket, you don't pay that rate on all your income. Only the income above the cutoff.

      Some payroll programs are _stupid_, it is possible to get a raise and see a smaller check. But at the end of the year, you get a bigger refund, all other things being equal.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    18. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      > Convert to a more modern language ... that will not allow you to keep running an existing code base 30 years down the road.

      One of Fortran's virtues is its slow-moving evolution.

    19. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      That's the plan. Hire whoever shows up.

    20. Re:Ultimate 'geek' dream assignment? by oh_my_080980980 · · Score: 1

      You mean like physicists and engineers. Yeah they're really worried *eye roll*

    21. Re:Ultimate 'geek' dream assignment? by oh_my_080980980 · · Score: 1

      So the assumption is the programmers who wrote this code where so perfect it's not possible to improve upon it nor is it likely there are bugs or inefficiencies in the code. Wow. Given human nature, I would assume there's room for improvement in the code.

    22. Re:Ultimate 'geek' dream assignment? by phantomfive · · Score: 1

      Nah. The assumption is that they are better at efficiency than I am. Maybe you are better than I :)

      --
      "First they came for the slanderers and i said nothing."
    23. Re:Ultimate 'geek' dream assignment? by xfizik · · Score: 2

      Yep, this problem has JavaScript written all over it.

    24. Re:Ultimate 'geek' dream assignment? by NicknameUnavailable · · Score: 0

      The award counts as part of your income - the whole reward. For anyone under 91k/yr that 27.5k will bump them up a tax bracket and screw over their entire filing for a higher percentage rate (which they might adjust to have deducted, but still only for half the year at June.)

    25. Re:Ultimate 'geek' dream assignment? by NicknameUnavailable · · Score: 1

      This is pretty much what I described - mixing a W2 and a 1099 is bad every time.

    26. Re:Ultimate 'geek' dream assignment? by HornWumpus · · Score: 3

      You still don't know how tax brackets work.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    27. Re:Ultimate 'geek' dream assignment? by ChrisMaple · · Score: 1

      What part of "incremental" do you not understand?

      --
      Contribute to civilization: ari.aynrand.org/donate
    28. Re:Ultimate 'geek' dream assignment? by Anonymous Coward · · Score: 0

      > Yep, this problem has JavaScript written all over it.

      “Must be a king.”
      “Why?”
      “He hasn’t got JavaScript all over him.”

    29. Re:Ultimate 'geek' dream assignment? by david_thornley · · Score: 1

      That $91K is taxed the same whether or not you put another $27.5K on top of it. The $27.5K will be taxed more than if it were the only income.

      Tax brackets work on marginal income. You pay I% up to $J. If you make more than $J, you pay I% of $J plus the tax on the income over $J, which will be at a higher rate.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    30. Re:Ultimate 'geek' dream assignment? by jimbolauski · · Score: 1

      I recommend looking at the IRS withholding calculator to get an accurate understanding of taxes. Making 91k with the 27.5k award you will pay $20,702 in taxes while only making 91k you will pay $13,834. The 27.5k gets taxed at a higher rate a little over 25% while the 91k is taxed at around 15%.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
  5. Mommy, what's "Fortran"? by mi · · Score: 1

    The software was developed in the 1980s and is written in an older computer programming language called Fortran.

    I understand, why BBC may want to explain, what FORTRAN is, but for Slashdot to spell it out reveals clumsy copy-pasting — and lousy editing.

    $55,000 between the top two people who can make its FUN3D software run up to 10,000 times faster

    What's with the "up to"? If I make it only twice faster, will I get anything? What if I make it 20,000 times faster — will my entry be disqualified for exceeding the specified maximum improvement?

    --
    In Soviet Washington the swamp drains you.
    1. Re:Mommy, what's "Fortran"? by xfizik · · Score: 1

      Actually, it is Fortran. Maybe it was FORTRAN when FUN3D was originally written, but now it's most certainly just Fortran.
      https://en.wikipedia.org/wiki/Fortran
      https://gcc.gnu.org/wiki/GFortran
      https://software.intel.com/en-us/fortran-compilers

    2. Re:Mommy, what's "Fortran"? by __aaclcg7560 · · Score: 1

      Actually, it is Fortran. Maybe it was FORTRAN when FUN3D was originally written, but now it's most certainly just Fortran.

      Or FORTRAN because early keyboards couldn't do lowercase letters?

    3. Re:Mommy, what's "Fortran"? by RightwingNutjob · · Score: 1

      Clumsy copy-pasting? From msmash? Impossible!

    4. Re:Mommy, what's "Fortran"? by Anonymous Coward · · Score: 0

      Or FORTRAN because early keyboards couldn't do lowercase letters?

      It was an acronym for FORmula TRANslation.

    5. Re:Mommy, what's "Fortran"? by mi · · Score: 1

      If we go by the colloquial whims of the day, we'd start spelling "you are" as "your" and "ur" and believe that humans — uniquely among mammals — have not two, but 71 sexes...

      No, it is FORTRAN... As in FORmula TRANslator.

      --
      In Soviet Washington the swamp drains you.
    6. Re:Mommy, what's "Fortran"? by Baloroth · · Score: 1

      No, it's Fortran. FORTRAN and Fortran refer to different specifications of the language (FORTRAN being the original).

      --
      "None can love freedom heartily, but good men; the rest love not freedom, but license." --John Milton
    7. Re:Mommy, what's "Fortran"? by slew · · Score: 2

      Actually, it is Fortran. Maybe it was FORTRAN when FUN3D was originally written, but now it's most certainly just Fortran.

      Or FORTRAN because early keyboards couldn't do lowercase letters?

      The problem with FORTRAN was the punch card formats popular for FORTRAN was BCDIC which has no encoding for lower case and the machine FORTRAN was designed for (IBM704) used a 6-bit BCD code (6 of which were packed into a 36-bit word).

      The FORTRAN-77 language still required UPPERCASE keywords, but most compilers (including ratfor) accepted lower-case keywords, but by Fortran-90, lower-case keywords were officially supported and thus in tribute to that long awaited change, the official capitalization of the language changed.

      Since the FUN3D project was started in the late '80s, it started in FORTRAN-77, but 2001 they converted to Fortran-90. The latest versions require a Fortran-2003 compiler

      The original punch-key machines of the day for punch-card FORTRAN didn't have lower case because the early cards didn't support it. On the other hand computer keyboards being essentially retasked electric typewriter keyboards generally supported lower case from the get go...

    8. Re:Mommy, what's "Fortran"? by xfizik · · Score: 1

      Fortran is not a colloquial whim, it's the official form used by the ANSI specification of the Fortran programming language. The last ANSI specification using FORTRAN was FORTRAN 77. It's 2017 in case you haven't noticed.

    9. Re:Mommy, what's "Fortran"? by Anonymous Coward · · Score: 0

      Or FORTRAN because early keyboards couldn't do lowercase letters?

      It was an acronym for FORmula TRANslation.

      Exactly. I was in the process of replying with the meaning as well until I noticed two other posts, including yours, already stated FORmula TRANslator -> FORTRAN.

    10. Re:Mommy, what's "Fortran"? by Anonymous Coward · · Score: 0

      It was. I remember the announcement was in the 90's when some TPTB decided it would be called, "Fortran," and no longer "FORTRAN," or the even more oblique and virtually never used, "ForTran," The latter being ironic since it is FORmula TRANslator.

    11. Re:Mommy, what's "Fortran"? by mi · · Score: 1

      Though this has nothing to do with my original point — that Slashdot readers do not need it explained to them, what F[oO][rR][tT][rR][aA][nN] is — unless there has been an official renaming ("the programming language known as FORTRAN shall henceforth be called Fortran"), the casual renaming is still a colloquial whim...

      TCL (Tools Command Language) has suffered similarly as it gradually became "Tcl" or, even worse, "tickle"...

      --
      In Soviet Washington the swamp drains you.
    12. Re:Mommy, what's "Fortran"? by icensnow · · Score: 1

      And what the grandparent was trying to explain to you is that it has been officially renamed. Fortran 90, Fortran 95, Fortran 2003, Fortran 2008, and the still-draft Fortran 2015 all used the name Fortran in ISO standards. That was in response to an ISO recommendation made shortly after FORTRAN 77 was standardized that names pronounced as words (Pascal, Fortran, Python) be title-capitalized, and only names pronounced by spelling out the acronym (APL, PL/1) were all caps. It is official, not casual or colloquial.

  6. $55K to rewrite a CFD package? by Nutria · · Score: 1

    Hahahahahahaha.

    What compiler is used on Pleiades?

    --
    "I don't know, therefore Aliens" Wafflebox1
    1. Re:$55K to rewrite a CFD package? by polgair · · Score: 1

      Well, literally whatever you want.

      Of course the standard fortran compilers are already on there, such as the various gnus and intels.

      https://www.nas.nasa.gov/hecc/...

      I mean, you can even run pkgsrc stuff if you want.

  7. Did Dr. Evil think of this contest? by Waffle+Iron · · Score: 2

    "If you can make my simulation code run 10,000 faster, I'll give you Fifty Five Thousand dollars!"

    1. Re:Did Dr. Evil think of this contest? by Tablizer · · Score: 1

      That's big money in the 3rd world. It's partly why Americans win fewer international programming contests: the prize means less in USA dollars.

    2. Re:Did Dr. Evil think of this contest? by phantomfive · · Score: 1

      Not $55k, half of that. You have to share it with someone else.

      --
      "First they came for the slanderers and i said nothing."
    3. 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 ;)

    4. Re:Did Dr. Evil think of this contest? by Pope+Raymond+Lama · · Score: 1

      That's big money in the 3rd world. It's partly why Americans win fewer international programming contests: the prize means less in USA dollars.

      And what about the part that states that all participants must be American?

      Anyway, for me it could be a little bit more money than it is in the U.S., but ti still would hardly pay the expenses to work on this - if done as a contract. As a lottery thing, this is simply a no-no.

      --
      -><- no .sig is good sig.
    5. Re:Did Dr. Evil think of this contest? by Tablizer · · Score: 1

      Outsource the work without giving away intended use, and claim you did it all by yourself.

    6. Re:Did Dr. Evil think of this contest? by slew · · Score: 1

      Not $55k, half of that. You have to share it with someone else.

      Actually, you have to share it with several someone elses....

      A prize purse of up to $55,000 will be distributed among first and second finishers in two categories.

      and the US treasury (they always share in the wealth)...

    7. Re:Did Dr. Evil think of this contest? by phantomfive · · Score: 1

      and the US treasury (they always share in the wealth)...

      Wow, so kind of them to share.

      --
      "First they came for the slanderers and i said nothing."
  8. This is so very NASA by Anonymous Coward · · Score: 0

    No, you don't need a geek for this. Geeks are the comparatively artsy-fartsy kids playing with their electronics playthings. You need nerds for this. The obsessive and pedantic old code trawlers who're adept at math and code, and who can do math-y and algorithmic optimisation. If their teachers were any good they learned to work with slide rules and fortran, not java and graphing calculators. This isn't even just about age, but about outlook, mentality, and picking the right tools for the job. FORTRAN isn't just "an older language", it ended up to be the fastest way to do math short of assembly. So it's not merely a historic fart, it's the thing to use if you're doing the heavy math lifting, and working on that needs the right people.

    Which NASA's management still doesn't understand, those perennial idiots with their failure to go metric, their failure to go to space, and their failure to do it safely. It's a wonder they had Engineers worth anything running around for so long. Apparently no longer. Serves them right. Stupid management gonna be stupid.

    1. Re:This is so very NASA by aliquis · · Score: 1

      I never got the "up to 10 000 times faster" part either.

      Can it become 10 000 times faster?
      On what? Same processor architecture? Running the same algorithms?

      Or they need to to be replaced by something faster which do it in some smarter way? Hopefully with as good results? Almost as good?

    2. Re:This is so very NASA by avandesande · · Score: 1

      I'd find it hard to believe that you could do better than 2x performance of half decent fortran code.

      --
      love is just extroverted narcissism
    3. Re:This is so very NASA by Grishnakh · · Score: 1

      Which NASA's management still doesn't understand, those perennial idiots with their failure to go metric

      Huh? What are you talking about? I'm not sure what they did back in the Apollo days, but they've been all-metric for some time now at least. If you're talking about that failed Mars lander mission, that was the fault of some stupid defense contractor they got some data from. NASA's failure was in not verifying the units of the data, but the contractor was also at fault for not providing any kind of units. Basically, both of them were stupid for providing, and accepting, a bunch of numbers with the units just assumed on each side. But it wasn't because they "failed to go metric" (however their defense-contractor partners they frequently work with did).

      Finally, NASA has had a lot of successes: the Mercury and Apollo programs of course, but even in recent years there's been a bunch of successful probes and landers: the Mars landers, the Juno probe, the New Horizons probe, etc. If you're criticizing them for not getting bigger missions done and not having a way of sending humans into space any more, you can blame Congress and the White House for that. No one can get big missions done when the requirements are constantly changing and you're being jerked around with your budget and being told "work on this program now! No wait, cancel that, work on this other program now!"; anyone who's worked in engineering should know that.

    4. Re:This is so very NASA by slew · · Score: 1

      I'd find it hard to believe that you could do better than 2x performance of half decent fortran code.

      They aren't really asking for basic code optimizations (although they will take them), they are hoping that someone might totally rework the code and do stuff like...

      * Implement new algorithmic developments in such areas as grid adaptation, higher-order methods and efficient solution techniques for high performance computing hardware.

      * Optimize inter-node processing in order to reduce overall model computation time and parallelization efficiency.

  9. Some ossible approaches by davidwr · · Score: 3, Insightful

    1. Run it on better hardware.

    2. Re-write the compiler to optimize this code in the best way possible.

    3. Re-write the code so it provides optimal input to the compiler.

    4. Come up with a new algorithm.

    5 and beyond: Left as an exercise to the reader.

    Assuming any improvements from #1 and #2 don't "count" for this contest, that leaves you with 3 and 4.

    Unless the code is brain-dead there is no way you'll get anywhere close to 10,000 improvement JUST by #3. You MIGHT get it with a combination of #3 and #1 and/or #2 vs. just #1 and #2 alone. That is to say, changes in hardware and compilers may give an opportunity to re-factor the code to get huge improvements vs. un-modified code on new compilers and new hardware.

    The big win will be in #4, but only if there are better algorithms out there or someone can come up with one. As with re-factoring the code, changes in hardware and corresponding changes in compilers may turn an algorithm that was inefficient in the 1980s into something that is best-in-class today.

    5 and beyond are open-ended and the sky is the limit.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Some ossible approaches by Tablizer · · Score: 3, Funny

      6. Split up the processing and run it on unsuspecting bot-netted PC's

    2. Re:Some ossible approaches by Anonymous Coward · · Score: 0

      #4 : anyone who has read Michael Abrash's books should know this, also CFD methods have come a long way since the 1980's.

      Is this code publicly available? I can't find it, if not why not, how can CFD simulations be top secret, if it's in need of outside help then it can't be that top secret in it's current form.

    3. Re:Some ossible approaches by freeze128 · · Score: 1

      The FORTRAN compiler is written in FORTRAN.

    4. Re:Some ossible approaches by Z80a · · Score: 1

      It's even remotely possible to come up with a fortran compiler for GPUs?

  10. 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."
    1. Re:my dream by oneiros27 · · Score: 1

      I read an article recently that said there are a few people who make a living wage out there just entering competition ... it's work, but it's work where you can pick and choose what you want to take a stab at, and don't have to deal with people telling you how to do your job & changing requirements as the project drags on. ... but you have to be good at it, or you don't get paid for anything.

      And I know that people have worked CUDA support into IDL (Interactive Data Language), and IDL reminds me a hell of a lot like Fortran w/ matrix support.

      (and note -- FORTAN was all upercase through FORTRAN 77 ... I think it went to 'Fortran' in Fortran 90.)

      --
      Build it, and they will come^Hplain.
    2. Re:my dream by buddyglass · · Score: 1

      I would love it if this were what I did for "work". Instead of working on projects where performance and scalability are complete afterthoughts.

    3. Re:my dream by Pascoea · · Score: 2

      Actually it sounds like what I call "work."

      That's kind of what I was thinking. It's not what I do for a living, but if it was I think I'd be charging more than $55,000 to do it.

  11. Dammit! by Gravis+Zero · · Score: 2

    I entered the contest and made some modifications but it runs well over 10,000 times faster. Disqualified again! >:(

    --
    Anons need not reply. Questions end with a question mark.
    1. Re:Dammit! by Anonymous Coward · · Score: 0

      I entered the contest and made some modifications but it runs well over 10,000 times faster. Disqualified again! >:(

      So you add a bunch of do nothing loops to waste time until you get the performance down to only 10,000 times faster.

  12. FORTRAN jokes miss the point(er) by Latent+Heat · · Score: 0

    Why FORTRAN is so good for this problem domain is that it is so brain dead, far-from-orthogonal, ancient, and has all these odd specifications (one of them at least used to be that a FOR loop could not be evaluated zero times).

    Compilers can optimize the "stuff" out of FORTRAN; C, C++, not quite as much. The clever equivalency between pointers and array references confounds optimization "tricks" used in FORTRAN compilers.

    Java may even be a better for optimization than C or C++, and there are at least some micro benchmarks where the JIT can do things that C doesn't facilitate.

    1. Re:FORTRAN jokes miss the point(er) by HornWumpus · · Score: 1

      Old FORTRAN's default statically allocated arrays are one less indirection to access.

      Tiny change compared to what can be lost in 'simple' object access. Which can cause a context switch, worst case, modern crap used by the unaware.

      In some C dialects '[' and ']' are just macros that expand into pointer math.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    2. Re:FORTRAN jokes miss the point(er) by ShanghaiBill · · Score: 3, Informative

      Old FORTRAN's default statically allocated arrays are one less indirection to access.

      Also, FORTRAN does not allow pointer aliasing, so memory accesses can be cached in registers. That is a barrier to optimization in C/C++. C has the "restrict" keyword which helps, but it is rarely used and is not supported by old compilers.

    3. Re:FORTRAN jokes miss the point(er) by HornWumpus · · Score: 1

      You can do all kinds of things worse than 'pointer aliasing' in FORTRAN. Turn off array bounds checking and access neighboring structures etc. But if you do that, it's on you to understand your compiler, memory allocation/layout and hardware.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    4. Re:FORTRAN jokes miss the point(er) by Anonymous Coward · · Score: 0

      Old FORTRAN is delicious.

    5. Re:FORTRAN jokes miss the point(er) by Anonymous Coward · · Score: 0

      If you are using old compilers you're code will be missing out on performance gains from vectorisation, so you should be modernizing the code.

        Aliasing is often a source of error as in most code it's not intended, and so should be avoided and modern C++ coding makes it easy to avoid, unless stepping outside the frameworks for it, and then you can compile with flags that indicate to the compiler that there will be no aliasing. Someone can still do something in the C++, unfortunately. But for new, well-written code it isn't necessary to use Fortran.

      Even more so, if you are doing linear algebra, or Fourier transforms, you can use a high level language and make function calls, and are probably doing that in Fortran anyway.

      This means that bigger issues are often correct expression of an efficient (or even just the right) algorithm, selecting the right libraries, the right data structures, verification, and documentation

  13. I feel . . . happy! by Latent+Heat · · Score: 0

    I'm not dead, yet!

    1. Re:I feel . . . happy! by HornWumpus · · Score: 2

      Don't listen to him, he'll be stone dead in a minute.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  14. algo, profile, assy by Anonymous Coward · · Score: 0

    Optimize the algo, then profile, rewrite the part of the code that uses the most cpu in assembly. Good luck getting a 10K improvement, unless the algo or implementation is brain dead.

    1. Re:algo, profile, assy by BostonPilot · · Score: 3, Interesting

      Um, towards the bottom of the article it mentions "10 times faster" which is probably achievable and probably what they actually are looking for. They even mention that rewriting an inner loop, shaving a few milliseconds off will give a substantial speed increase.

      Way back I worked at Alliant Computer Systems (https://en.wikipedia.org/wiki/Alliant_Computer_Systems) which was a hardware/software system that would automatically unroll loops in Fortran code and run them in parallel on up to 8 processors at a time (and each of the 8 also had vector hardware). It was very fast on the right Fortran code... Hardware support for concurrency control when one iteration of the loop depended on a computation from another iteration. All done in custom hardware which was killed (like many supercomputer companies) by the advent of high performance microprocessors.

    2. Re:algo, profile, assy by Anonymous Coward · · Score: 0

      "Real Programmers write self-modifying code, especially if they can save 20 nanoseconds in the middle of a tight loop."

    3. Re:algo, profile, assy by Anonymous Coward · · Score: 0

      We still have vector computers today. We just call them GPUs.

    4. Re:algo, profile, assy by Anonymous Coward · · Score: 0

      We still have vector computers today. We just call them CPUs.

      GPUs aren't vector processors. They are scalar. You just have a shit ton of them.

    5. Re:algo, profile, assy by Anonymous Coward · · Score: 0

      Arrr!

      Real Programmers don't comment their code. If it was hard to write, it should be hard to read.

  15. Wake up, sheeple! by Latent+Heat · · Score: 1

    The 10,000 times faster is this clearly unattainable goal, but just like the NP-Complete problems used in cryptography, no one knows for sure if P == NP or if there is some clever hack.

    If you submit a solution anywhere near a 10,000 speedup, these guys with HKs wearing Ninja suits will come to your house, slap a bag over your head, and you will wake up on this island where you will be assigned a number and where this menacing beach-ball device will prevent you from ever returning home.

    1. Re:Wake up, sheeple! by Anonymous Coward · · Score: 0

      I bet that doesn't end well! oh wait ... it didn't!

    2. Re:Wake up, sheeple! by lucasnate1 · · Score: 1

      If I remember correctly, nobody actually managed to prove that any of the cryptographic problems in use today are NP complete.

  16. Open Source funding model? by Anonymous Coward · · Score: 0

    I would like to see more of this sort of thing in the open source world. Something that operates like kickstarter but in reverse where the community puts money into features and software bounties for developers to work on to get paid to support the community in things people actually want.

    Found a long standing bug that's driving everyone nuts but nobody bothers to fix? Put some money into a pot and if enough other people feel the same way a developer can collect that bounty.

    Am I crazy to think this is a good idea?

    1. Re:Open Source funding model? by Anonymous Coward · · Score: 0

      So you want 20 teams to work on the problem, and only one team gets paid. And that's a good idea? LOL. 55k is a ripoff unless the code can be optimized within a couple of months. This is how much you pay serfs.

    2. Re:Open Source funding model? by Anonymous Coward · · Score: 0

      I suppose, but getting paid would be better than working for free as many in open source currently do. It would really be nice to make it easy for the community to pay back these developers for working on features and fixes that they really want rather than odd offshoots that few seem to want as happens all too often while serious bugs still remain untouched for years.

  17. Fast if algorithms don't matter by Anonymous Coward · · Score: 0

    Fortran is fast on problems where sophisticated algorithms don't exist. But most good algorithms can't be implemented in Fortran.

    1. Re:Fast if algorithms don't matter by Anonymous Coward · · Score: 0

      Oh, BS.

  18. Okay, I will do it. by Anonymous Coward · · Score: 0

    Here is the solution. Take the code. Rip out all the goto statements and replace them with real function calls. That should at least increase the speed by 75%. You're welcome.

    1. Re:Okay, I will do it. by Anonymous Coward · · Score: 1

      Because "save state on stack, call, set up stack frame, process, return" is so much more efficient than "jump", amirite?

  19. Publicity plus recruiting tool by g01d4 · · Score: 1

    Fortran has been a staple of high performance computing applications for decades and will continue as such. As such, there are several off the shelf tools available for profiling, optimization and vectorization, many from the vendor that includes architecture dependency. This task is something that normally would be better accomplished in-house, but also makes a clever and probably lower cost recruiting tool.

  20. Compilers? Code refactorization? Programmers? C? by aglider · · Score: 1

    I am not a Fortran programmer, but I know how to make some code run faster (on the very same hardware).
    One, is a better compiler with machine code optimizations that lead to (average) faster code execution.
    Two, automated source code analysis, refactorization and optimization.
    Three, hire better programmers, provided that Fortran can allow for higher effectiveness.
    Four, move to a language that can take advantage of multithreading. Like Fortran 2008+ or, better, C.

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  21. Unrealistic by Anonymous Coward · · Score: 0

    Unless the existing code is totally serial, and they just want someone to add MPI support or parallelise it over FPGA or GPU cores, a 10000x speedup is just silly. Or I suppose the code could just be utter crap, resulting in crazy slowness. I work for a CFD vendor, and I know they can't expect much for such a small sum on money. I'd say that converting a serial code to parallel might be possible for this sum, but who is going to spend a year doing that unless they are guaranteed payment? This will be far less than a typical CFD developer salary, so they'd have to be looking to low cost countries. If serial, it will require splitting the mesh, then passing around boundary conditions over MPI. So, you need to write tools to split the mesh for computation, and then to re-join the mesh for post-processing - that is in addition to parallelising the solver. Likewise with FPGAs or GPUs, except the skillsets are even less available, and the entry barrier even higher. While C++ can achieve a small edge in performance over 'modern' F2008 these days, re-writing parts of the solver's kernel in C++ is going to achieve nothing like this speedup - maybe a 5-15% in my experience, if you have a good developer - possibly even the opposite, if it is some physicist who doesn't even know how to write C++ properly.

  22. Fortran by Anonymous Coward · · Score: 0

    I love the fact they feel they have to explain what Fortran is.

  23. Only US citizens! by CustomSolvers2 · · Score: 1

    Nowadays? When dealing with a complex piece of software about which nobody else will probably care? When trying to optimise very specific parts which were most likely developed by applying well-known theories?

    Come on! This is the worst kind of discrimination! This is discrimination against me! LOL

    --
    Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    1. Re:Only US citizens! by CustomSolvers2 · · Score: 1

      Just in case there is even the slightest doubt: I have tons of experience in algorithm optimisation and even in Fortran (although this issue is quite secondary). Honestly, I don't like contests of this kind too much, but I would have loved taking part in this one. In fact, this is pretty much my ideal work: being paid to (over-)optimise algorithms and/or data management; the more complex the situation, the better.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  24. Sounds like NASA is looking for cheap labour by puppetman · · Score: 2

    $55,000 is much cheaper than hiring developers to do it. It's akin to companies having a contest for a new marketing logo, and the winner get's their work used. The compensation is a line on a resume.

  25. FORTRAN is not the problem by srstites · · Score: 1

    I don't think that the solution to the problem has anything to do with what language is used to solve the problem. From the article:

    "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."

    When I was an undergraduate I wrote a FORTRAN program for a genetics professor to calculate the distribution of butterfly markings in a wild butterfly population (I also caught butterflies, tagged them, recording their markings, and released them). The statistical problem was solved by solving partial differential equations by approximation. The equation had two complicated halves. I guessed a number to be the solution and then plugged it into both sides of the equation getting two different answers. I then plugged the difference of the two answers into another equation which gave me a guess as to where the final answer lay. I plugged the difference equation result into the first two equations and came up with a new narrower answer spread. I kept doing this loop until the difference result was less than the number of significant digits I wanted in the answer. This program was a real CPU burner, enough so that Dr. West had to have a serious discussion with the computer center about his computer budget.

    Years later I was the manager of a mainframe computer center. I once toured the much larger McDonald Douglas computer center in St Louis to see what I could learn about managing a computer center. One of the large applications at McDonald Douglas was solving partial differential equations by approximation to measure airflow across a wing. Each cross section on a wing had a different answer so the more cross sections they solved the more accurate their answer was. Therefore they divided up the problem across several computers and ran several calculations in parallel.

    I think that the problem described by NASA is similar to my population genetics problem or McDonald Douglas' wing air flow problem. I can easily see that by cutting down the number of iterations needed to arrive at a significant answer you can save large amounts of CPU time. From the article:

    "Significant improvements could be gained just by simplifying a heavily used sub-routine so it runs a few milliseconds faster, said Nasa on the webpage describing the competition. If the routine is called millions of times during a simulation this could "significantly" trim testing times, it added."

    So if I were working on the problem I would look for an answer by speeding up the approximation calculation rather than speeding up the hardware or programming language.

    --------------
    Steve Stites

  26. Re:Compilers? Code refactorization? Programmers? C by Anonymous Coward · · Score: 1

    1. They're almost assuredly already using ifort.
    2. Hopefully they've run VTune against it, but if they're engineers/physicists, who knows.
    3. Yes. Programmers that really know how to write HPC applications are expensive and hard to come by, though. The main reason why Fortran is the language of choice for HPC is because Fortran does not allow aliasing, which enables deeper compiler optimization. However, C (but not C++) can replicate some of this behavior with the restrict keyword.
    4. Usually multithreading creates performance problems. Massively parallel programs running on general purpose cores almost always run faster with one process per core (I guess I'm assuming that it's already an MPI program), unless you can eliminate mutexes. This is not true when running on MIC, since the per-process overhead of MPI itself becomes a bottleneck.

    The answer is probably rewrite the inner loop for CUDA. Maybe also some kind of adaptive mesh refinement if it's not already doing it.

  27. Re:Compilers? Code refactorization? Programmers? C by Anonymous Coward · · Score: 0

    Fortran compilers are already highly optimized. It is very unlikely there is significant performance gain to be found there.
    Also, Fortran is so simple (relatively) that gains by refactoring doesn't work. Mind, most heavy-duty Fortran code is already very much optimized.
    And, given that Fortran is almost trivially parallellized (most large scale simulations run on vector computers, thereby executing many iterations of FOR loops in concurrently) multithreading isn't the solution either.

    Fortran isn't as backwater as many seem to think. It is fast and highly efficient. Never fast enough though, making it faster can make larger simulations possible.

  28. Specs on the target machine: by Weaselmancer · · Score: 3, Insightful

    System Architecture
    Manufacturer: SGI
    161 racks (11,472 nodes)
    7.25 Pflop/s peak cluster
    5.95 Pflop/s LINPACK rating (#13 on November 2016 TOP500 list)
    175 Tflop/s HPCG rating (#9 on November 2016 HPCG list)
    Total CPU cores: 246,048
    Total memory: 938 TB
    2 racks (64 nodes total) enhanced with NVIDIA graphics processing units (GPUs)
    184,320 CUDA cores
    0.275 Pflop/s total
    1 rack (32 nodes total) enhanced with Intel Xeon Phi co-processors (MICs)
    3,840 MIC cores
    0.064 Pflop/s total

    Operating Environment
    Operating system: SUSE® Linux®
    Job scheduler: Altair PBS Professional®
    Compilers: Intel and GNU C, C++ and Fortran
    MPI: SGI MPT

    Full specs here.

    Sounds like stone soup to me. CUDA cores, Phi coprocessors, SGI interconnects, Linux OS because nothing else in the whole wide world could talk to all of that...

    Ick. Keep your prize money.

    --
    Weaselmancer
    rediculous.
    1. Re:Specs on the target machine: by Anonymous Coward · · Score: 0

      Looking at the detailed description, I wouldn't call this a "target machine". Yes, there's quite beefy networking between all the different nodes, but essentially this is a group of 4 similar computers. And only the machine with old Sandy Bridge CPU's has GPU's and MIC's. You basically have to compile for each of the 4 machines individually, e.g. only two of them support AVX2 and FMA3. And that matters for the type of workloads that you'd expect on these machines.

      Sure, adding up the performance numbers of the 4 machines will get you a higher score in the TOP500 list. But that's just PR.

  29. Processing Power by T.E.D. · · Score: 1

    In 1986 the state-of-the-art CPU generation was the i386 (other Motorola and other makers had similarly-powered CPUs available), but it was new and the i286 was much more common. The Pentium 200's were about 79x faster than those (based on the popular NSI). After that, the improvements were mostly in clock rate, with the latest I7's clocking the CPU roughly 20x faster than the Pentium 200.

    So that means CPU-bound Fortran code should be executing roughly 1600x faster just by recompiling it on an I7. That's before any parallelization (note that modern Fortran compilers have parallel loop constructs, so that wouldn't be tough to add, if the algorithm allows for it).

    So its tempting to think you could get most (perhaps all) of the way to this $55,000 prize with a $400 CPU and a copy of the Intel Fortran compiler.

    1. Re:Processing Power by oh_my_080980980 · · Score: 1

      The code runs on a super computer. So no Potys they weren't using Intel i386 processors!

    2. Re:Processing Power by david_thornley · · Score: 1

      In 1986, workstations didn't use Intel CPUs. That came later.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  30. The solution is obvious by Drunkulus · · Score: 1

    Porting this creaky code to node.js running in Docker should give at least a 10x performance boost.

  31. $$ pls by pipedevnull · · Score: 1

    -O3.

    $$pls.

  32. An older ...programming language called Fortran by Anonymous Coward · · Score: 0

    Why not just call it Fortran? Any geek worth his/her salt should know what Fortran is - even those who never used or studied it themselves.

  33. the C++ by HornWumpus · · Score: 1

    Now it's like 'the AIDS' and 'the diabetes'!

    Oh no, he's got 'the C++' on his resume, don't touch it.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  34. Meh. US only by griffo · · Score: 2

    I thought: ah, a fun challenge.

    Then I read the last sentence in the BBC article:

    >The sensitive nature of the code means the competition is only open to US citizens who are over 18.

    They just don't get it.

  35. All these jokes by Anonymous Coward · · Score: 0

    Wow so many hipster jokes at the expense of foolish aging geezer programmers ... you know the guys who got a spaceship to the moon while you were um making a mobile dating app mashup

  36. Worst License Agreement Ever by Prien715 · · Score: 2

    When you try to download their software, you are taken to this page which at the bottom contains the follow text:

    By accessing and using this computer system, you are consenting to system monitoring, including the monitoring of keystrokes. Unauthorized use of, or access to, this computer system may subject you to disciplinary action and criminal prosecution. [emphasis mine]

    A keylogger for using your website? Microsoft hasn't even thought of that yet!

    --
    -- Political fascism requires a Fuhrer.
  37. If this is a physics issue, why not Python? by TheOuterLinux · · Score: 1

    Thats all we ever used in Physics and Blender uses it too, to give you an idea.

  38. Re:There isn't any reason to use Fortran any more. by Anonymous Coward · · Score: 0

    Fortran is more restrictive than C, which makes it easier to optimise.

    But Fortran's main advantage hasn't changed in fifty years: Fortran is the native language of people whose careers revolve around numerical simulations.

    IOW, it's the same as any other language: the language itself is less relevant than the ecosystem which surrounds it: people, tools, libraries, books, etc.

  39. Only for US citizens by Anonymous Coward · · Score: 0

    I was a happy man for a very short time :(

  40. based on the pulled out of the arse number by Anonymous Coward · · Score: 0

    based on the pulled out of the arse number 10000 times faster I think they are paying fifty, five thousand dollars or $250000, or is it two hundred, fifty thousand dollars - they really need to correct the title, it sounds like they are paying 10 million bucks for this speed up.

  41. HO LEE FUKE by Anonymous Coward · · Score: 0

    I KNOW How to do this... write it in BRAINFUCK!!

  42. coders? by wyHunter · · Score: 1

    I'm probably being too sensitive here - not usually a trait that describes me - but is anyone else sick to freaking death of being called a 'coder'? I kind of hate to say this, but 'coder' sounds rather like 'data entry technician' - someone doing a mindless repetive job.

  43. NASA Too Cheap to Hire Professionals (FTFY) by Anonymous Coward · · Score: 0

    So this speedup is so vital to NASA that they decide on a contest with a tiny potential payoff that no professional would bother with. Really making yourselves look good there, NASA!

    There are (justifiably expensive) experts out here that can do this kind of work but, shockingly, we need to feed our families and send our children to colleges. Rather than, I don't know, hire them the clever folks at NASA instead decide to waste time on a PR exercise that makes your organization look incompetent. By trying to crowdsource the work for near-free, this sends the message to our brightest students that expertise in scientific software is no longer a viable career in the US. When this contest fails they will have wasted time and money and further eroded the future talent pool they'll need in 10 years. Brilliant!