Boost logo

Boost :

Subject: Re: [boost] [compute] GPGPU Library - Request For Feedback
From: Evgeny Panasyuk (evgeny.panasyuk_at_[hidden])
Date: 2013-03-07 14:18:38


03.03.2013 2:25, Kyle Lutz:

> The library is built around the OpenCL framework
> which allows it to be portable across many types of devices (GPUs, CPUs,
> and accelerator cards) from many different vendors (NVIDIA, Intel, AMD).

It looks like this library is some kind of abstraction around OpenCL.
But as I can see, it does not offer ways to abstract from OpenCL kernels
syntax in general way:
https://github.com/kylelutz/compute/blob/master/example/monte_carlo.cpp .
I.e. not just simple things like boost::compute::sqrt, or simple lambda
expressions like "_1 * 3 - 4".

Kernel description can be abstracted in several ways:

1) Approach similar to Boost.Phoenix - generate OpenCL kernel code based
on gathered expression tree.

2) Approach similar to TaskGraph library:
http://www3.imperial.ac.uk/pls/portallive/docs/1/45421696.PDF - describe
kernel in terms of special function calls, macros, expression templates
and so on. Actual kernel is generated when that description code is
"executed".
Here is small demo - http://ideone.com/qQ4Pvo (check output at bottom).

-- 
Evgeny Panasyuk

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