Parallel block-delayed sequences
Parallel block-delayed sequences
复制标题
并行块延迟序列
DOI:
10.1145/3503221.3508434
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Blelloch, Guy E.
中科院分区:
文献类型:
--
作者:
Westrick, Sam;Rainey, Mike;Anderson, Daniel;Blelloch, Guy E.
Programming languages using functions on collections of values, such as map, reduce, scan and filter, have been used for over fifty years. Such collections have proven to be particularly useful in the context of parallelism because such functions are naturally parallel. However, if implemented naively they lead to the generation of temporary intermediate collections that can significantly increase memory usage and runtime. To avoid this pitfall, many approaches use "fusion" to combine operations and avoid temporary results. However, most of these approaches involve significant changes to a compiler and are limited to a small set of functions, such as maps and reduces.In this paper we present a library-based approach that fuses widely used operations such as scans, filters, and flattens. In conjunction with existing techniques, this covers most of the common operations on collections. Our approach is based on a novel technique which parallelizes over blocks, with streams within each block. We demonstrate the approach by implementing libraries targeting multicore parallelism in two languages: Parallel ML and C++, which have very different semantics and compilers. To help users understand when to use the approach, we define a cost semantics that indicates when fusion occurs and how it reduces memory allocations. We present experimental results for a dozen benchmarks that demonstrate significant reductions in both time and space. In most cases the approach generates code that is near optimal for the machines it is running on.
登录
查看更多内容
DOI:
10.1145/2500365.2500595
发表时间:
2013
期刊:
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
影响因子:
--
作者:
T. L. McDonell
通讯作者:
T. L. McDonell
DOI:
10.1109/superc.1990.130084
发表时间:
1990
期刊:
Proceedings SUPERCOMPUTING '90
影响因子:
--
作者:
S. Chatterjee;G. Blelloch;M. Zagha
通讯作者:
M. Zagha
DOI:
10.1145/1863543.1863582
发表时间:
2010
期刊:
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
影响因子:
--
作者:
G. Keller;M. Chakravarty;Roman Leshchinskiy;S. Jones;B. Lippmeier
通讯作者:
B. Lippmeier
影响因子:
22.7
作者:
G. Mainland;Roman Leshchinskiy;S. Jones
通讯作者:
S. Jones
DOI:
10.1145/800017.800539
发表时间:
1984
期刊:
Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
影响因子:
--
作者:
J. Warren
通讯作者:
J. Warren