Boost logo

Boost :

Subject: Re: [boost] Interest in a GPU computing library
From: Eric Niebler (eric_at_[hidden])
Date: 2012-09-18 14:20:51


On 9/18/2012 11:00 AM, Mathias Gaunard wrote:
>> This is the reason why I wrote the Boost.Compute lambda library.
>> Basically it takes C++ lambda expressions (e.g. _1 * sqrt(_1) + 4) and
>> transforms them into C99 source code fragments (e.g. “input[i] *
>> sqrt(input[i]) + 4)”) which are then passed to the Boost.Compute
>> STL-style algorithms for execution. While not perfect, it allows the
>> user to write code closer to C++ that still can be executed through
>> OpenCL.
>
> From your description, it looks like you've reinvented the wheel there,
> causing needless limitations and interoperability problems for users.
>
> It could have just been done by serializing arbitrary Proto transforms
> to C99, with extension points for custom tags.
>
> With CUDA, you'd actually have hit the problem that the Proto functions
> are not marked __device__, but with OpenCL it doesn't matter.

Mathias, Could you say more about what is needed to make Proto
CUDA-friendly? I'm not familiar with CUDA.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

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