High Performance Computing Center North
The purpose of the course is to learn when a code could benefit from task-based parallelism, and how to apply it.
A task-based algorithm operates by dividing the work into self-contained tasks. The main difference between tasks and regular function calls is that a task-based algorithm does not call the associated kernels directly. Instead, the tasks are inserted into a runtime system that then schedules the tasks to computational resources, such as CPUs and GPUs.
The main benefit from this is that the underlying parallelism is exposed automatically as the runtime system gradually traverses the resulting task graph. In particular, some codes can be simplified by the use of tasks and some codes can benefit performance-wise from the use of tasks.
The course mainly focuses on the task-pragmas implemented in the newer incarnations of OpenMP. Other task-based runtime systems, e.g., StarPU, are briefly mentioned and some content may be included (not decided yet).
Purpose: Learn what task-based parallelism is and when to apply it.
Instructors: Mirko Myllykoski (firstname.lastname@example.org)
Deadline for registration: 2020-03-23
Preliminary schedule will be provided soon.
Coffee and tea will be provided. Please bring a laptop for the hands-on. Note that the hands-on will be done at HPC2N's systems, so for this you will need an account at SUPR and also at HPC2N. If you do not have such accounts, then you will contacted about creating them.
Please fill in the below form to sign up. All fields marked with * are required.