Boost logo

Boost :

Subject: Re: [boost] Interest in a GPU computing library
From: Mario Mulansky (mario.mulansky_at_[hidden])
Date: 2012-09-18 11:05:09


On Tuesday, September 18, 2012 11:43:25 AM Beren Minor wrote:
> On Tue, Sep 18, 2012 at 10:58 AM, Thomas Heller <thom.heller_at_[hidden]>
wrote:
> > Oops, guess I am wrong here. Taking a more thorough look at the thrust
> > documentation it looks like different backends are indeed supported.
>
> Multiple backend indeed, but apparently not OpenCL.
> I guess then it's a gap that has to be filled, but extending Thrust to
> support OpenCL (if possible) might be more beneficial than rewriting
> another library that only supports OpenCL.

A few years ago, when I started using thrust, I think the FAQ stated that
OpenCL will never be supported by thrust. Now the statement is a little
weaker:

"When will Thrust support OpenCL?

The primary barrier to OpenCL support is the lack of an OpenCL compiler and
runtime with support for C++ templates (e.g., something similar to nvcc and
the CUDA Runtime). These features are necessary to achieve close coupling of
host and device codes."

I also think that from the library design it won't be easier to adopt thrust
to OpenCL than implementing a new OpenCL library from scratch as the two
techniques (CUDA and OpenCL) are fundamentally different.

However, I would be very interested in a boost OpenCL library. In odeint, we
currently support CUDA by means of thrust, as well as OpenCL in terms of vexCL
[1,2]. vexCL is very nice, fast and easy to use, so it sets quite some
standard for a boost opencl implementation, I think.

[1] https://github.com/ddemidov/vexcl
[2] http://www.codeproject.com/Articles/415058/VexCL-Vector-expression-
template-library-for-OpenC

Mario


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk