|What If Home | Forum | Download Now | In-depth Tutorial material delivered at SC'10 | Overview video | Documentation | Knowledge Base | Article - A Flexible Parallel Programming Model for Multicore and Manycore Architectures|
Sophisticated library for vector parallelism
October 2012: This WhatIf project has been retired, but this page remains for historical/archival purposes.
Intel® Array Building Blocks (Intel® ArBB)
A Flexible Parallel Programming Model for Multicore and Many-Core Architectures
Intel® Array Building Blocks (Intel® ArBB) is an experimental, library-based C++ programming solution that provides the following benefits
- Performance: Programs written with Intel® ArBB are scalable across cores and vector units (SIMD) allowing them to productively harness available CPU resources.
- Compatibility: Intel ArBB integrates into C++ applications as a standard library with no compiler-specific extensions for compatibility with standard compilers and IDEs. It offers powerful language constructs to quickly express complex large data structures for vector parallel workloads.
- Safety by default: Balancing performance and safety, Intel® ArBB utilizes a managed environment to prevent parallel programming bugs such as data races and deadlocks.
Intel offers the following alternatives that developers can evaluate along with Intel® ArBB
- Intel® Cilk™ Plus is an extension to C and C++ that offers a quick, easy and reliable way to improve the performance of programs on multicore processors. The three Intel Cilk Plus keywords and array notation extensions provide a simple, yet surprisingly powerful model for parallel programming.
- Intel® Threading Building Blocks (Intel® TBB) is a widely used, award-winning C++ template library for creating reliable, portable, and scalable parallel applications. Use Intel® TBB for a simple and rapid way of developing robust task-based parallel applications that scale to available processor cores, are compatible with multiple environments, and are easier to maintain.