Libraries for C++ AMP

Many of you have been wondering about availability of additional C++ AMP libraries. As part of the shipping product you already have C++ AMP which itself is a library, and also the C++ AMP Math library. But you have been asking about additional libraries, typically domain-specific libraries.

Given that C++ AMP directly builds on and (slightly) extends the C++ 11 standard, and given that C++ AMP itself is an open specification, it made sense to continue the openness for additional library work.

We are happy to announce that the way we plan to deliver additional libraries is in open source form, and evolved transparently on CodePlex, under the Apache License 2.0. We will kick start the library projects, our engineers will submit changesets, and you are also invited to contribute (there is an External Contribution Guidelines document for you to read on our CodePlex library projects). This also means that customers of other implementers of the C++ AMP open spec can also contribute and benefit from this effort.

Here is the current list of library projects (we'll update this when we add new ones):

  1. C++ AMP Algorithms Library (STL-style Algorithms)
  2. C++ AMP RNG Library (Random Number Generator)
  3. C++ AMP FFT Library (Fast Fourier Transform)
  4. C++ AMP BLAS Library (Basic Linear Algebra Subroutines)
  5. C++ AMP LAPACK Library (Linear Algebra Package)
  6. your suggestion here

At the time of writing, these projects are in their infancy (some more so than others), but we wanted to share the news now, rather than wait for them to reach Alpha quality. Please join us on CodePlex to file your suggestions, ask questions, and to consume and contribute as you see fit.