Using Intel Array Building Blocks for Efficient Development of Multicore Applications
SESSION: M07: Using Intel Array Building Blocks for Efficient Development of Multicore Applications
EVENT TYPE: Tutorial
TIME: 8:30AM - 12:00PM
Presenter(s):Michael McCool, Anwar Ghuloum, Michael Klemm
ABSTRACT: Intel® Array Building Blocks (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 ArBB’s programming and execution model. We will provide an in-depth guide to the basic building blocks of ArBB: scalars, dense and sparse collections, collective operations, elemental functions, and control flow. We describe how 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 ArBB applications.