Title
Intel's Array Building Blocks: A retargetable, dynamic compiler and embedded language
Abstract
Our ability to create systems with large amount of hardware parallelism is exceeding the average software developer's ability to effectively program them. This is a problem that plagues our industry. Since the vast majority of the world's software developers are not parallel programming experts, making it easy to write, port, and debug applications with sufficient core and vector parallelism is essential to enabling the use of multi- and many-core processor architectures. However, hardware architectures and vector ISAs are also shifting and diversifying quickly, making it difficult for a single binary to run well on all possible targets. Because of this, retargetability and dynamic compilation are of growing relevance. This paper introduces Intel® Array Building Blocks (ArBB), which is a retargetable dynamic compilation framework. This system focuses on making it easier to write and port programs so that they can harvest data and thread parallelism on both multi-core and heterogeneous many-core architectures, while staying within standard C++. ArBB interoperates with other programming models to help meet the demands we hear from customers for a solution with both greater programmer productivity and good performance. This work makes contributions in language features, compiler architecture, code transformations and optimizations. It presents performance data from the current beta release of ArBB and quantitatively shows the impact of some key analyses, enabling transformations and optimizations for a variety of benchmarks that are of interest to our customers.
Year
DOI
Venue
2011
10.1109/CGO.2011.5764690
CGO
Keywords
Field
DocType
thread parallelism,dynamic compilation,average software developer,hardware parallelism,embedded language,good performance,harvest data,arbb interoperates,enabling transformation,vector parallelism,dynamic compiler,hardware architecture,array building blocks,parallel programming,processor architecture,programming,embedded systems,parallel processing,software development,optimization,programming model
Computer architecture,Dynamic compilation,Programmer,Programming paradigm,Computer science,Parallel computing,Thread (computing),Code generation,Compiler,Software,Debugging
Conference
ISSN
ISBN
Citations 
2164-2397
978-1-61284-356-8
36
PageRank 
References 
Authors
1.73
21
13
Name
Order
Citations
PageRank
Chris J. Newburn115810.72
Byoungro So231127.76
Zhenying Liu31007.13
Michael McCool410012.93
Anwar Ghuloum51226.88
Stefanus Du Toit6737.97
Zhi Gang Wang7361.73
Zhaohui Du819612.76
Yongjian Chen9361.73
Gansha Wu101079.06
Peng Guo11361.73
Zhanglin Liu12361.73
Dan Zhang13361.73