Affiliation:
1. INRIA and École Normale Supérieure, Paris, France
Abstract
We present OpenStream, a data-flow extension of OpenMP to express dynamic dependent tasks. The language supports nested task creation, modular composition, variable and unbounded sets of producers/consumers, and first-class streams. These features, enabled by our original compilation flow, allow translating high-level parallel programming patterns, like dependences arising from StarSs' array regions, or universal low-level primitives like futures. In particular, these dynamic features can be embedded efficiently and naturally into an unmanaged imperative language, avoiding the complexity and overhead of a concurrent garbage collector. We demonstrate the performance advantages of a data-flow execution model compared to more restricted task and barrier models. We also demonstrate the efficiency of our compilation and runtime algorithms for the support of complex dependence patterns arising from StarSs benchmarks.
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
68 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Benchmarking parallel programming for single-board computers;Future Generation Computer Systems;2024-12
2. M‐DFCPP: A runtime library for multi‐machine dataflow computing;Concurrency and Computation: Practice and Experience;2024-08-07
3. References;AI Computing Systems;2024
4. AI programming language for AI computing systems;AI Computing Systems;2024
5. Studying the expressiveness and performance of parallelization abstractions for linear pipelines;Proceedings of the 14th International Workshop on Programming Models and Applications for Multicores and Manycores;2023-02-25