On Sun, Mar 16, 2014 at 6:10 PM, Rhys Ulerich
On Sun, Mar 16, 2014 at 7:03 PM, Kyle Lutz
wrote: Boost.Compute is a GPGPU and parallel-programming library based on OpenCL. It provides an STL-like API and implements many common containers (e.g. vector<T>, array
) as well as many common algorithms (e.g. sort(), accumulate(), transform()). A full list can be found in the header reference [3]. Besides the OpenGL niceness and STLishness, is there a reason to prefer Boost.Compute over alternatives targeted at OpenCL/CUDA numerics? There's already been much work in this space [1], including VexCL [2] which many of my collaborators like. While there is an answer in the FAQ [3], it seems dodgy as clearly VexCL could not presently be built on Boost.Compute since the latter does not support for CUDA while the former does.
Good point. That FAQ entry was written before VexCL added its CUDA back-end (which occurred relatively recently). Boost.Compute and VexCL have different aims and scopes. Boost.Compute is more similar to the C++ STL while VexCL is more similar to a linear algebra library like Eigen. Also see this StackOverflow question [1] entitled "Differences between VexCL, Thrust, and Boost.Compute". -kyle [1] http://stackoverflow.com/questions/20154179/differences-between-vexcl-thrust...