Sciweavers

PPOPP
2015
ACM

A collection-oriented programming model for performance portability

8 years 8 months ago
A collection-oriented programming model for performance portability
This paper describes Surge, a collection-oriented programming model that enables programmers to compose parallel computations using nested high-level data collections and operators. Surge exposes a code generation interface, decoupled from the core computation, that enables programmers and autotuners to easily generate multiple implementations of the same computation on various parallel architectures such as multi-core CPUs and GPUs. By decoupling computations from architecture-specific implementation, programmers can target multiple architectures more easily, and generate a search space that facilitates optimization and customization for specific architectures. We express in Surge four real-world benchmarks from domains such as sparse linear-algebra and machine learning and from the same performance-portable specification, generate OpenMP and CUDA C++ implementations.
Saurav Muralidharan, Michael Garland, Bryan C. Cat
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where PPOPP
Authors Saurav Muralidharan, Michael Garland, Bryan C. Catanzaro, Albert Sidelnik, Mary W. Hall
Comments (0)