The abstract streaming machine: compile-time performance modelling of stream programs on heterogeneous multiprocessors
Document typeConference lecture
Rights accessRestricted access - publisher's policy
Stream programming offers a portable way for regular applications such as digital video, software radio, multimedia and 3D graphics to exploit a multiprocessor machine. The compiler maps a portable stream program onto the target, automatically sizing communications buffers and applying optimizing transformations such as task fission or fusion, unrolling loops and aggregating communication. We present a machine description and performance model for an iterative stream compilation flow, which represents the stream program running on a heterogeneous multiprocessor system with distributed or shared memory. The model is a key component of the ACOTES open-source stream compiler currently under development. Our experiments on the Cell Broadband Engine show that the predicted throughput has a maximum relative error of 15% across our benchmarks.
CitationCarpenter, P.; Ramirez, A.; Ayguade, E. The abstract streaming machine: compile-time performance modelling of stream programs on heterogeneous multiprocessors. A: International Workshop on Systems, Architectures, Modeling and Simulation. "International Workshop on Systems, Architectures, Modeling and Simulation". 2009, p. 12-23.