Journal Article10.1535/ITJ.1104.07
Future Proof Data Parallel Algorithms and Software on Intel Multicore Architecture
57
TL;DR: This paper describes how Ct is designed for minimal effort by the developer, while providing forward scaling on multi-core IA, and describes how a sampling of key application spaces can be easily written using Ct to achieve high performance.
read more
Abstract: Developers face new challenges with multi-core software development. The first of these challenges is a significant productivity burden particular to parallel programming. A big contributor to this burden is the relative difficulty of tracking down data races, which manifest nondeterministically. The second challenge is parallelizing applications so that they effectively scale with new core counts and the inevitable enhancement and evolution of the instruction set. This is a new and subtle change to the benefit of backwards compatibility inherent in Intel Architecture (IA): performance may not scale forward with new micro-architectures and, in some cases, may regress. We assert that forward-scaling is an essential requirement for new programming models, tools, and methodologies intended for multi-core software development. We are implementing a programming model called the Ct API that leverages the strengths of data parallel programming to help address these challenges of multicore software development. In this paper we describe how Ct is designed for minimal effort by the developer, while providing forward scaling on multi-core IA. We describe how Ct’s design and implementation evolved from the initial prototype, based on co-traveler feedback, and we provide examples of how Ct can be used. We demonstrate how a sampling of key application spaces can be easily written using Ct to achieve high performance. Finally, we discuss how these ideas can be transitioned into mainstream software development tools.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Larrabee: a many-core x86 architecture for visual computing
Larry D. Seiler,Doug Carmean,Eric Sprangle,Tom Forsyth,Michael Abrash,Pradeep Dubey,Stephen Junkins,Adam T. Lake,Jeremy Sugerman,Robert Dale Cavin,Roger Espasa,Ed Grochowski,Toni Juan,Pat Hanrahan +13 more
- 01 Aug 2008
TL;DR: This article consists of a collection of slides from the author's conference presentation, some of the topics discussed include: architecture convergence; Larrabee architecture; and graphics pipeline.
Larrabee: A Many-Core x86 Architecture for Visual Computing
Larry D. Seiler,Douglas M. Carmean,Eric Sprangle,Tom Forsyth,Pradeep Dubey,Stephen Junkins,Adam T. Lake,Robert Dale Cavin,Roger Espasa,Edward T. Grochowski,Toni Juan,Michael Abrash,Jeremy Sugerman,Pat Hanrahan +13 more
TL;DR: The Larrabee many-core visual computing architecture uses multiple in-order x86 cores augmented by wide vector processor units, together with some fixed-function logic, which increases the architecture's programmability as compared to standard GPUs.
722
Qilin: exploiting parallelism on heterogeneous multiprocessors with adaptive mapping
Chi-Keung Luk,Sunpyo Hong,Hyesoon Kim +2 more
- 12 Dec 2009
TL;DR: Adaptive mapping is proposed, a fully automatic technique to map computations to processing elements on a CPU+GPU machine and it is shown that, by judiciously distributing works over the CPU and GPU, automatic adaptive mapping achieves a 25% reduction in execution time and a 20% reduced in energy consumption than static mappings on average for a set of important computation benchmarks.
A Survey of Parallel Programming Models and Tools in the Multi and Many-Core Era
TL;DR: A survey of the different parallel programming models and tools available today with special consideration to their suitability for high-performance computing finds that hybrid parallel programming is the current way of harnessing the capabilities of computer clusters with multi-core nodes.
268
Mul-T: a high-performance parallel Lisp
David A. Kranz,Robert H. Halstead,E. Mohr +2 more
- 01 Jun 1990
TL;DR: Mul-T as discussed by the authors is a parallel Lisp system based on Multilisp's future construct that has been developed to run on an Encore Multimax multiprocessor.
161
References
A bridging model for parallel computation
TL;DR: The bulk-synchronous parallel (BSP) model is introduced as a candidate for this role, and results quantifying its efficiency both in implementing high-level language features and algorithms, as well as in being implemented in hardware.
4.1K
•Book
A Programming Language
Kenneth E. Iverson
- 01 Jan 1962
TL;DR: The paper describes a succinct problem-oriented programming language that relies heavily on a systematic extension of a small set of basic operations to vectors, matrices, and trees, and on a family of flexible selection operations controlled by logical vectors.
1.1K
Implementation of a portable nested data-parallel language
TL;DR: Initial benchmark results of NESL show that NESL′s performance is competitive with that of machine-specific codes for regular dense data, and is often superior for irregular data.
365
Mul-T: a high-performance parallel Lisp
David A. Kranz,Robert H. Halstead,E. Mohr +2 more
- 01 Jun 1990
TL;DR: Mul-T as discussed by the authors is a parallel Lisp system based on Multilisp's future construct that has been developed to run on an Encore Multimax multiprocessor.
161
Compiling collection-oriented languages onto massively parallel computers
Guy E. Blelloch,Gary W. Sabot +1 more
TL;DR: Issues and techniques for taking high-level descriptions of parallelism in the form of operations on nested collections and automatically translating them into flat, single-level parallelism are described.
147
Related Papers (5)
[...]