Compiling Nested Data-Parallel Programs for Shared-Memory Multiprocessors (1993)
| Venue: | ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS |
| Citations: | 17 - 5 self |
BibTeX
@ARTICLE{Chatterjee93compilingnested,
author = {Siddhartha Chatterjee},
title = {Compiling Nested Data-Parallel Programs for Shared-Memory Multiprocessors},
journal = {ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS},
year = {1993},
volume = {15},
pages = {400--462}
}
Years of Citing Articles
OpenURL
Abstract
While data parallelism is well-suited from algorithmic, architectural, and linguistic considerations to serve as a basis for portable parallel programming, its characteristic fine-grained parallelism makes the efficient implementation of data-parallel languages on MIMD machines a challenging task. The design, implementation, and evaluation of an optimizing compiler are presented for an applicative nested data-parallel language called VCODE targeted at the Encore Multimax, a shared-memory multiprocessor. The source language supports nested aggregate data types; aggregate operations including elementwise forms, scans, reductions, and permutations; and conditionals and recursion for control flow. A small set of graph-theoretic compile-time optimizations reduce the overheads on MIMDmachines in several ways: by increasing the grain size of the output program, by reducing synchronization and storage requirements, and by improving locality of reference. The two key ideas behind these...







