A comparative study of the NAS MG benchmark across parallel languages and architectures
Proceedings of the 2000 ACM/IEEE conference on Supercomputing
ICSE '76 Proceedings of the 2nd international conference on Software engineering
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
International Journal of High Performance Computing Applications
High Performance Computing Productivity Model Synthesis
International Journal of High Performance Computing Applications
Productive petascale computing: requirements, hardware, and software
Productive petascale computing: requirements, hardware, and software
Mesa: automatic generation of lookup table optimizations
Proceedings of the 4th International Workshop on Multicore Software Engineering
Tool support for software lookup table optimization
Scientific Programming
Hi-index | 0.00 |
The High Productivity Computing Systems (HPCS) program seeks a tenfold productivity improvement. Software Engineering has addressed this goal in other domains and identified many important principles that, when aligned with hardware and computer science technologies, do make dramatic improvements in productivity. Do these principles work for the HPC domain?This case study collects data on the potential benefits of perfective maintenance in which human productivity (programmability, readability, verifiability, maintainability) is paramount. An HPC professional rewrote four FORTRAN77/MPI benchmarks in Fortran 90, removing optimizations (many improving distributed memory performance) and emphasizing clarity.The code shrank by 5-10x and is significantly easier to read and relate to specifications. Run time performance slowed by about 2x. More studies are needed to confirm that the resulting code is easy to maintain and that the lost performance can be recovered with compiler optimization technologies, run time management techniques and scalable shared memory hardware.