ACM Computing Surveys (CSUR)
Introduction to parallel algorithms
Introduction to parallel algorithms
Distributed Algorithms
Derivation of Explicitly Parallel Code from Declarative Program by Transformations
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
An Empirical Study On the Vectorization of Multimedia Applications for Multimedia Extensions
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Spiral: A Generator for Platform-Adapted Libraries of Signal Processing Algorithms
International Journal of High Performance Computing Applications
Introduction to Algorithms, Third Edition
Introduction to Algorithms, Third Edition
OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems
Computing in Science and Engineering
Hi-index | 0.00 |
Programs written for an architecture with n processors require a re-write when migrated to an m processor architecture {(m n)} to benefit from additional resources. Compiler based solutions do not match manual optimizations. Annotation based and api-based solutions such as the OpenMP and the Intel Array Building Blocks work well with data parallel programs and do not scale well with branching programs. We present Portable Parallel Programming (TripleP), a parallel programming methodology that is composed of a declarative programming language, a set of libraries of data structures and algorithms optimized per architecture, and a synthesizer. We evaluated TripleP with the computation of array median, and breadth first traversal of a graph. Our results show that TripleP enables portable programs that benefit from additional resources across architectures with near optimal performance gains.