HPC Software: Have We Succeeded in Spite of It or Because of It?
Moderator: John M. Levesque, Senior Technologist, Cray Inc.
Panelists: Walt Brainerd, Owner, The Fortran Company; Chris Doehlert, President & CEO, Etnus; Michael Gittings, Guest Scientist, Los Alamos National Laboratory, and Assistant Vice President and Chief Scientist, Science Applications International Corporation; Bill Gropp, Senior Computer Scientist and Associate Division Director, Mathematics and Computer Science Division, Argonne National Laboratory; David Kuck, Intel Fellow and Director KAI Software Lab, Intel Corporation; James R. Taft, Technical Director, Advanced Computing Technologies, NASA Ames Research Center
The moderator believes that we have succeeded in spite of HPC software. The state of HPC software is poor at best and the future of HPC software is dismal. The current thrust towards Linux and open source software does not bode well for software. My questions are targeted at a few specific problem areas.
First, I believe standards have the most impact on the efficiency of the resulting software. Fortran 90 standards have ruined the efficiency of the Fortran language. On the other hand, the MPI standards group was able to define a set of calls that could utilize the efficiency of the system without many pitfalls.
A second area of concern is the academic HPC software research. Has this research contributed to principal application developers? There are two different ways such research can benefit the end-user: (1) be implemented within the principal software components developed by the hardware/software vendors or (2) be used directly by the end-user. An important measurement for the panel is the efficiency of a software component on the state-of-the-art hardware. HPF formulated a language that was impossible to implement efficiently and subsequently was never used by the major application developers; MPI, on the other hand, formulated a language (library) that could be implemented efficiently and is the principal tool in the HPC industry today.
Questions addressed to Bill Gropp and Walt Brainerd on standards:
How are features brought to a standards group?
When considering a feature, are the efficiencies of implementation considered? For example, if a feature is very difficult or impossible to implement efficiently on a majority of the hardware architectures, is it given serious consideration?
What recommendations do you have to improve HPC software standards?
Questions addressed to David Kuck and Chris Doehlert on software implementation:
What are the priorities for the following characteristics of software development?
(a) adherence to standards
(b) efficiencies of implementation
(c) ease of use
Please comment on the difficulties of targeting Fortran 90 in your software. How much of your work is based on academic research?
Has government funding of numerous universities for HPC software research aided your development?
Questions addressed to Jim Taft and Michael Gittings on use of HPC software:
Considering all software components, prioritize the software that you use to get your job done?
What, if any, non-application software that you or your group developed out of necessity, do you feel should have been supplied by a hardware and/or software vendor?
Going back over the years, please list what, if any, software you have used which was developed by HPC academic research groups? If the list is small or empty, please give your views on the third question under the software implementers' list.