Affiliation:
1. Carnegie Mellon University
Abstract
In this paper we prove time and space bounds for the implementation of the programming language NESL on various parallel machine models. NESL is a sugared typed λ-calculus with a set of array primitives and an explicit parallel map over arrays. Our results extend previous work on provable implementation bounds for functional languages by considering space and by including arrays. For modeling the cost of NESL we augment a standard call-by-value operational semantics to return two cost measures: a DAG representing the sequential dependence in the computation, and a measure of the space taken by a sequential implementation. We show that a NESL program with
w
work (nodes in the DAG),
d
depth (levels in the DAG), and
s
sequential space can be implemented on a
p
processor butterfly network, hypercube, or CRCW PRAM using
O
(
w/p
+
d
log
p
) time and
O
(
s
+
dp
log
p
) reachable space.
1
For programs with sufficient parallelism these bounds are optimal in that they give linear speedup and use space within a constant factor of the sequential space.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
55 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Modeling and Analyzing Evaluation Cost of CUDA Kernels;ACM Transactions on Parallel Computing;2024-03-12
2. Pipelines and Beyond: Graph Types for ADTs with Futures;Proceedings of the ACM on Programming Languages;2024-01-05
3. Indexed Streams: A Formal Intermediate Representation for Fused Contraction Programs;Proceedings of the ACM on Programming Languages;2023-06-06
4. Responsive Parallelism with Synchronization;Proceedings of the ACM on Programming Languages;2023-06-06
5. SPLENDID: Supporting Parallel LLVM-IR Enhanced Natural Decompilation for Interactive Development;Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 3;2023-03-25