ContentsQuick linksExternal
|
An Embedded Language for Accelerated Array Computations For more details, please have a look at our recent paper Accelerating Haskell Array Codes with Multicore GPUs. There are some slightly outdated slides and a video of a talk that I gave at the Haskell Implementors Workshop 2009 (in Edinburgh): Haskell Arrays, Accelerated (Using GPUs). A simple exampleAs a simple example, consider the computation of a dot product of two vectors of single-precision floating-point numbers: dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float) dotp xs ys = fold (+) 0 (zipWith (*) xs ys) Except for the type, this code is almost the same as the corresponding Haskell code on lists of floats. The types indicate that the computation is off-loaded to a GPU. Availability
Mailing list
Both user and developer questions and discussions are welcome at DocumentationHaddock documentation is included in the package and linked from the
Hackage page. Furthermore, the source package contains a few simple
examples in the InternalsThe idea behind the HOAS (higher-order abstract syntax) to de-Bruijn conversion used in the library is described separately. The PLS Accelerate Team (alphabetically)
Further contributions by Ben Lever, Rami Mukhtar, and Sean Seefried. |
| • Copyright [2009..2011] Manuel M T Chakravarty • Last modified: 17 April 2011 • |