| ||||
| ||||
![]() Title:Scheduling Task and Data Parallelism in Array Languages with Work Assisting Conference:EURO-PAR 2025 Tags:Code generation, Functional array languages and Scheduling Abstract: High level languages for parallelism need to be performant on a wide range of workloads: they may be data-parallel and/or task-parallel, as well as regular or irregular. Scheduling, which is implemented via an interaction between the runtime system and the generated code, has a significant impact on the performance and scalability of these languages. In this paper, we demonstrate the integration of Work Assisting, our dynamic scheduler combining task-parallel and data-parallel schedulers, in combinator-based parallel array languages. These languages require fusion for high performance, and often feature scans to support irregular computations. Chained scans, the fastest parallel scans in our experiments, require a data-parallel scheduler as provided by Work Assisting. We show how code can be generated with support for fusion and chained scans, which can also fuse better than classic three-phase scans. We present the integration of Work Assisting into an actual compiler and runtime system of a such a language, Accelerate, and evaluate its performance in this context for a range of applications. Scheduling Task and Data Parallelism in Array Languages with Work Assisting ![]() Scheduling Task and Data Parallelism in Array Languages with Work Assisting | ||||
| Copyright © 2002 – 2025 EasyChair |
