Download the Tutorial [PDF]
October 2012: This WhatIf project has been retired, but this page remains for historical/archival purposes.
This in-depth tutorial was delivered at SC10. SC10 is the International Conference for High Performance Computing, Networking, Storage, and Analysis.
Intel® Array Building Blocks (Intel® ArBB) supports a high-level, generalized, and portable programming model for data-parallel programming. Programmers can express algorithms in terms of operations on collections of data, rather than focusing on low-level implementation details. The deterministic semantics of Intel ArBB avoids race conditions and deadlocks by design, improving reliability and maintainability. In this tutorial, we will introduce Intel ArBB’s programming and execution model. We will provide an in-depth guide to the basic building blocks of Intel ArBB:
- dense and sparse collections
- collective operations
- elemental functions
- control flow
We describe how Intel ArBB can be used to express different levels of abstraction. Based on real-world scientific codes and other examples, we then show how to construct data-parallel algorithms from these basic building blocks. The tutorial will include a demonstration of performance and scalability as well as performance optimization of Intel ArBB applications.