Sunita Chandrasekaran, University of Delaware, Newark, DE, USA
Guido Juckeland, Helmholtz-Zentrum Dresden-Rossendorf, Dresden, Germany
Technological advances in hardware have been instrumental in analyzing and processing large volumes of data found in abundance in several scientific fields including biology, climate science, nuclear energy, national security and many others. One of the hard realities is that the hardware continues to evolve very rapidly with varied memory hierarchies, heterogeneous compute cores consisting of various types of accelerators with primary design constraints being power consumption and the cost of data movement. The HPC community has been in constant and dire need for sophisticated software tools and techniques to port legacy code to these emerging platforms.
Given the complexity in hardware, maintaining a single code base yet achieving performance portable solution continues to pose a daunting task. Directive-based programming models such as OpenACC, OpenMP have been tackling this issue by offering scientists a high-level approach to accelerate scientific applications and develop solutions that are portable and yet do not compromise on performance or accuracy. Such programming paradigm has facilitated complex heterogeneous systems to be classified as first-class citizens for HPC!
To address the rapid pace of hardware evolution, software developers continue to explore language features and abstractions and build high-level directive-based programming models, its effective compiler and runtime components thus reducing the programming burden on application scientists.
This workshop aims to solicit papers that explore innovative language features and their implementations, stories and lessons learnt while using directives to migrate scientific legacy code to parallel processors, state-of-the-art compilation and runtime scheduling techniques, performance optimization and analysis on state-of-the-art hardware and so on.
We are looking forward to continuing to host this workshop at SC17. WACCPD in the past years has been one of the major forums at SC bringing together users, developers, software and tools community together to share knowledge and experiences to program emerging complex parallel computing systems.