A large portion of the supercomputing code driving scientific research and engineering design is written by scientists who are not software professionals. NAG’s Andrew Jones writes that too much of our scientific code base lacks solid numerical software engineering foundations.
Someone remarked to me recently that the problem with scientific software is that most of it is written by amateurs. Harsh perhaps, but it got me thinking. The point behind the remark is that most of the software used for simulation in scientific research, especially on supercomputers, is written by scientists rather than by professional numerical software engineers. By implication, this state of affairs might be responsible for much of what some people see as the mess we are in with respect to assurance of results from the models and portable performance of the codes. The same argument might also be extended to engineering packages and data modeling.
Jones goes on to say that because our scientific code base lacks solid numerical software engineering foundations, it potentially puts correctness and performance at risk when major renovation or parallelization of the code is required. Read the Full Story.