Intel Ct and RapidMind (both superseded by the Array Building Blocks)

Array Building Blocks (Abb) is a vector programming library, that was developed by merging technologies developed by RapidMind (dynamic compilation for parallel architectures) and Intel Ct (containers and operations).

Abb is a combination of a C++ vector library (full with standard containers and algorithms) with a dynamic optimising runtime library. The containers resemble standard C++ STL containers, although they do not share their interfaces. The runtime library is quite unique; it can dynamically compile and optimise any C++ function (with certain restrictions) to the underlying CPU, if it uses Abb datatypes for input. Moreover, it will arrange for loading the appropriate amounts of data to fill the processor's cache, optimise for
various vector processing instruction sets etc.

The RapidMind implementation of Abb's JIT compiler allowed for code to be run on GPUs or even more exotic architectures such as the Cell BE. Abb is currently limited to Intel CPUs.


Abb is a new offering and consequently no application is using it. It could theoretically be used as a generic replacement for vector datatypes and operations in C++ programs.

Abb has not been released to the market yet. RapidMind's product that preceded it has seen quite significant press exposure and fair product use. Notable programs that used RapidMind are various games on the PS3 console, the RTT raytracer and others. No use has been identified on HPC environments.

License: Proprietary