Intel® Array Building Blocks Virtual Machine specification available

How time flies! Just over a year ago I posted a short article called A Data-Parallel Virtual Machine introducing the idea of a low-level layer to Intel® Array Building Blocks (formerly Ct Technology and RapidMind) that would allow people to very easily get access to the product from within languages other than C++, the language we currently support. This spurned a lot of interest, for example, from people working on domain-specific languages looking for an easy way to accelerate those language implementations on multi-core and many-core processors.

The virtual machine has been a core part of the Intel® Array Building Blocks product since our first Beta last year, and some folks even managed to use our headers alone to start playing with the API!

I'm now excited to say that we've placed a first public draft of the virtual machine specification on our documentation page! The spec is available in PDF form for offline reading and in a browsable web-based version. The specification is still a work-in-progress but should document all aspects of the VM API. We'd love to hear your feedback - our forums are a great place to share your thoughts - so we can continue to make the specification more useful and accurate.