Intel® Array Building Blocks (Retired)

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.
For more complete information about compiler optimizations, see our Optimization Notice.