We propose to improve productivity of high performance computing for applications on multicore computers and clusters. These machines built from one or more chips that may have from two to hundreds of cores on a chip or socket, are notoriously hard to program. Interactive Supercomputing's Star-P platform has been designed to meet this need but requires more components to fully deliver the dream of high performance computing. We will work with NASA to develop the ability to reuse existing MPI and serial codes. Software writers can then move forward by working in high productivity interactive languages such as Mathworks MATLAB. Star-P already has this general capability, but what is further needed are functional transformations from the language as it appears on the desktop. In this work we will identify those transformations that will benefit NASA codes, and apply them first as a prototype in Phase I. In Phase II we will complete the prototype fully automating what might be thought of as semi-automatic transformations. We will in addition widen the scope of NASA codes that will benefit from such productivity enhancement. As a synergistic activity, visits to NASA sites including workshops are envisioned so that the work has maximum impact.
More »