Boost logo

Boost :

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

On 9/18/2012 10:45 AM, Andrey Semashev wrote:
> On Tuesday 18 September 2012 13:58:24 Felipe Magno de Almeida wrote:
>> Could it use boost.phoenix v3? IUC, Phoenix v3 creates a boost.proto
>> expression. The library could make transformations to these
>> expressions.

Yes, phoenix was designed to make this sort of application possible.

> Phoenix actors do contain Proto expressions. But as I understand, actors and
> the additional components Phoenix implements to evaluate expressions in a
> functional manner are useless in context of Boost.Compute.

True, you would need a different back-end.

> IIUC, the
> constructed expressions are not invoked but translated into strings (the C99
> source code). Using Proto directly seems more appropriate.

Just because you need a different back-end doesn't mean the phoenix
front-end is worthless. Phoenix has defined a schema that maps C++
statements onto C++ expressions and provides the components to build
these expressions for you. To ignore that and rebuild it from scratch
seems like a waste to me.

Besides, having a way to take a single phoenix expression and evaluate
it in different ways -- on a CPU with the built-in Phoenix evaluators,
or on a GPU with alternate ones -- sounds bloody cool, and very useful.

Eric Niebler
BoostPro Computing

Boost list run by bdawes at, gregod at, cpdaniel at, john at