The introductory presentation for "Application Perspective on SYCL, a Modern Programming Model for Performance and Portability" minisymposium at PASC'23 conference (Davos, Switzerland).
Heterogeneous architectures are now common in high-performance computing. As accelerator hardware gets more diverse, HPC applications must target architectures from multiple vendors and hardware generations with different capabilities and limitations. The dominance of vendor-specific and proprietary programming models makes writing portable and future-proof code challenging. Like OpenCL, SYCL is a standard not controlled by a single vendor. SYCL is still in its early stage, but there already are several quite mature implementations of the standard by different groups, targeting a wide range of hardware. It has been adopted by several large HPC projects and is the recommended programming framework for upcoming Intel GPU-based supercomputers. SYCL allows accessing low-level hardwar capabilities while providing a high-level abstraction and the ability to rely on the runtime for data movement and execution configuration choice, making it possible to write portable and performant code without compromising the ability to tune for a specific device architecture when needed. This minisymposium aims to discuss SYCL from th perspective of scientific application developers, sharing the experiences of early adopters and promoting interdisciplinary communication in software engineering for modern, performance-portable, and maintainable code.
Heterogeneous architectures are now common in high-performance computing. As accelerator hardware gets more diverse, HPC applications must target architectures from multiple vendors and hardware generations with different capabilities and limitations. The dominance of vendor-specific and proprietary programming models makes writing portable and future-proof code challenging. Like OpenCL, SYCL is a standard not controlled by a single vendor. SYCL is still in its early stage, but there already are several quite mature implementations of the standard by different groups, targeting a wide range of hardware. It has been adopted by several large HPC projects and is the recommended programming framework for upcoming Intel GPU-based supercomputers. SYCL allows accessing low-level hardwar capabilities while providing a high-level abstraction and the ability to rely on the runtime for data movement and execution configuration choice, making it possible to write portable and performant code without compromising the ability to tune for a specific device architecture when needed. This minisymposium aims to discuss SYCL from th perspective of scientific application developers, sharing the experiences of early adopters and promoting interdisciplinary communication in software engineering for modern, performance-portable, and maintainable code.