ScalaCL lets programmers run Scala code on GPUs with OpenCL. It also optimizes general Scala loops (on arrays, lists and inline ranges) often by a big margin so you'll want to use it even if you don't care about OpenCL.
ScalaCL is architectured around two components:
- ScalaCL Collections: OpenCL-backed collections that look and behave like standard Scala collections (work in progress).
- ScalaCL Compiler Plugin: optimizes Scala programs at compile-time, transforming regular Scala loops into faster code and transforming Scala functions given to ScalaCL Collections into OpenCL kernels