Are you ready for the future of high performance computing? Is your application performance portable? The scale and complexity of high end systems is increasing, nodes are becoming more parallel with many processors per node, more threads per processor, longer vector lengths, more complex memory hierarchies, and potentially heterogeneous processing elements. These technology changes in the supercomputing industry are forcing computational scientists to address new critical system characteristics that will significantly impact the performance and scalability of applications. These considerations will require a paradigm shift in application development. One main change is that the dominant programming model of parallelism through only message passing may not be feasible on this new generation of high performance systems. Application developers will have to hybridize their codes, adding multiple levels of parallelism. In addition, since these systems may have heterogeneous processors and multiple levels of the memory hierarchy, application developers may also have to introduce pragmas or directives for better node utilization and performance portability across a wide range of systems. In this mini course I will discuss these trends in the supercomputing industry, including programming paradigms and tools to support porting and tuning efforts, and will also discuss some of the challenges and open research problems that need to be addressed to create applications and build system software for the new generation of high performance computing systems.
Presenter/Biography: Dr. Luiz DeRose is a Senior Principal Engineer and the Programming Environments Director at Cray Inc, where he is responsible for the programming environment strategy for all Cray systems. Before joining Cray in 2004, he was a research staff member and the Tools Group Leader at the Advanced Computing Technology Center at IBM Research. Dr. DeRose had a Ph.D. in Computer Science from the University of Illinois at Urbana-Champaign. With more than 25 years of high performance computing experience and a deep knowledge of its programming environments, he has published more than 50 peer-review articles in scientific journals, conferences, and book chapters, primarily on the topics of compilers and tools for high performance computing. Dr. DeRose participated in the definition and creation of the OpenACC standard for accelerators high level programming. He is the Workshops Vice-Chair at Supercomputer 2017. He was the Organizing and Program Committee co-chair of the 10th International Workshop on OpenMP (IWOMP) in 2014, the Global Chair for the Multicore and Manycore Programming topic in Euro-Par 2013, and was the Program Committee co-Chair at the 21st International Conference on Parallel Architecture and Compilation Techniques PACT-2012.