SC10 Tutorial: Using Intel® Array Building Blocks for Efficient Development of Multicore Applications

Submit New Article

November 13, 2010 11:00 PM PST


Download the Tutorial [PDF]

This in-depth tutorial was delivered at SC10. SC10 is the International Conference for High Performance Computing, Networking, Storage, and Analysis.

ABSTRACT

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:

  • scalars
  • 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.



Do you need more help?


This article applies to: Intel® Array Building Blocks Knowledge Base