SC19 International Conference for High Performance Computing, Networking, Storage and Analysis Workshops
Supercomputers are becoming increasingly complex due to the prevalence of hierarchy and heterogeneity in emerging node and system architectures. As a result of these trends, users of conventional programming models for scalable high-performance applications increasingly find themselves writing applications using a mix of distinct programming models—such as Fortran90, C, C++, MPI, OpenMP, and CUDA—which are also often becoming more complex and detail-oriented themselves. These trends negatively impact the costs of developing, porting, and maintaining HPC applications.
Meanwhile, new programming models and languages are being developed that strive to improve upon the status quo. This is accomplished by unifying the expression of parallelism and locality across the system, raising the level of abstraction, making use of modern language design features, and/or leveraging the respective strengths of programmers, compilers, runtimes, and operating systems. These alternatives may take the form of parallel programming languages (e.g., Chapel, Fortran2018, Julia, UPC), frameworks for large-scale data processing and analytics (e.g., Spark, Tensorflow, Dask), or libraries and embedded DSLs that extend existing languages (e.g., Legion, COMPSs, SHMEM, HPX, Charm++, UPC++, Coarray C++, Global Arrays).
The PAW-ATM workshop is designed to explore the expression of applications in scalable parallel programming models that serve as an alternative to the status quo. It is designed to bring together applications experts and proponents of high-level programming models to present concrete and practical examples of using such alternative models and to illustrate the benefits of high-level approaches to scalable programming.
The PAW-ATM workshop is designed as a forum for exhibiting studies of parallel applications developed using high-level parallel programming models serving as alternatives to MPI+X-based programming. Our hope is to create a forum in which architects, language designers, and users can present, learn about, and discuss the state of the art in alternative scalable programming models while also wrestling with how to increase their effectiveness and adoption.