Intel® Array Building Blocks

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.
Pour de plus amples informations sur les optimisations de compilation, consultez notre Avertissement concernant les optimisations.