In this talk we examine how high performance computing has changed over the last 10-years and look toward the future in terms of trends. These changes have had and will continue to have a major impact on our software. Some of the software and algorithm challenges have already been encountered, such as management of communication and memory hierarchies through a combination of compile-time and runtime techniques, but the increased scale of computation, depth of memory hierarchies, range of latencies, and increased run-time environment variability will make these problems much harder. We will look at five areas of research that will have an importance impact in the development of software and algorithms. We will focus on following themes: • Redesign of software to fit multicore and hybrid architectures • Automatically tuned application software • Exploiting mixed precision for performance • The importance of fault tolerance • Communication avoiding algorithms
['Jack Dongarra']
Architecture-aware Algorithms and Software for Peta and Exascale Computing