Date: 15 May 2025 @ 17:00 - 19:00

Register Chapel is a modern programming language designed for both shared and distributed memory systems, offering high-level, easy-to-use abstractions for task and data parallelism. Its intuitive syntax makes it an excellent choice for novice HPC users learning parallel programming. Chapel supports a wide range of parallel hardware -- from multicore processors and multi-node clusters to GPUs -- using consistent syntax and concepts across all levels of hardware parallelism.Chapel dramatically reduces the complexity of parallel coding by combining the simplicity of Python-style programming with the performance of compiled languages like C and Fortran. Parallel operations that might require dozens of lines in MPI can often be written in just a few lines of Chapel. As an open-source language, it runs on most Unix-like operating systems and scales from laptops to large HPC systems.This course begins with Chapel fundamentals, then focuses on data parallelism through two numerical examples: one embarrassingly parallel and one tightly coupled. We'll also briefly explore task parallelism (a more complex topic, and not the primary focus in this course). Finally, we'll introduce GPU programming with Chapel.

Keywords: HPC, GPU, Python, Programming

Venue: online


Activity log