X86, ARM, GPUs, Oh My! Today’s Programming Environment for the Complex, Many-choice Platforms in HPC
Performance Analysis and Optimization
Scientific Software Development
TimeThursday, June 28th9am - 1pm
DescriptionA key component for a fast and balanced supercomputer is the programming environment. The scale and complexity of current and future high-end systems brings a new set of challenges for application developers. The technology changes in the supercomputing industry, coupled with the emergence of new processor and accelerator architectures, force computational scientists to face new critical system characteristics that will significantly impact the performance and scalability of applications. With the next generation of supercomputers, application developers need sophisticated compilers, tools, libraries, and adaptive runtime systems that can help maximize programmability with low porting and tuning efforts, while not losing sight of performance portability across a wide range of processors and architectures. Application developers need programming environments that can address, as well as hide, the issues of scale and complexity of high-end HPC systems. This workshop will focus on programming environments that target supercomputers with emerging processors from ARM and AMD, and with hybrid systems containing CPUs and GPUs, and will include a keynote that presents end-user experiences with the available programming environment on an Arm-based system.