Accelerator is a high-level data parallel library which uses parallel processors such as the GPU or multicore CPU to accelerate execution. Accelerator v1 was released to the MSR Web site in October 2006 and has been periodically updated since then. Accelerator v2 is an MSR incubation project whose goal is to to validate the architecture and API approach with high quality engineering sufficient to gather real-world usage data.
What’s in Accelerator v2?
Accelerator v2 builds on Accelerator v1’s programming model and adds features that were commonly requested by Accelerator v1 users. New functionality includes:
- Accelerator v2 is written as a native-code C++ library with a managed API wrapper
- Execution on multicore CPUs, both 32 and 64 bit, in addition to DX9 GPUs and CUDA.
- Extensible HW target interface enabling support for execution on new devices
- Ability to execute on multiple devices within a single Accelerator instance
- Asynchronous evaluation of parallel arrays
- Reusable expression graphs: Across different devices and on the same device with different leaf-node data
Download the Accelerator v2 Preview today to try it out. The package includes the Accelerator SDK, extensive documentation and several sample applications to help you get started.
Commercial entities interested in deploying Accelerator for business purposes can contact the Accelerator team at email@example.com to discuss license terms.
Other examples which use Accelerator:
- Convolution in F# using Accelerator from Satnam Singh's Blog
- Convolution in C# 4.0 using Lambdas, by Mads Torgersen via Satnam Singh's Blog
- Computing without Processors, by Satnam Singh
Please send questions or feedback about Accelerator to the Accelerator Support alias firstname.lastname@example.org.