Boost logo

Boost :

Subject: Re: [boost] Interest in a GPU computing library
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2012-09-19 07:38:12


On 09/19/2012 02:39 AM, Eric Niebler wrote:

> That's simple enough. But since I'm not a CUDA/AMP guy, I can't do this
> on my own. I would need someone knowledgeable to submit a patch. <nudge>

I believe that when we were initially working on it, you were against
changes to make CUDA happy because it's not a real C++ compiler.

>
>> As a side node, it also allows use to have shorter symbol names,
>> which was a bit of a problem with Proto.
>
> Any expression template library is going to generate huge symbol names.
> I don't think there's any way around that, do you?

cuda::node< cuda::tag::plus, cuda::node< cuda::tag::plus, cuda::node<
cuda::tag::terminal, int >, cuda::node< cuda::tag::terminal, int > >,
cuda::node< cuda::tag::terminal, int > >

is shorter (and more readable) than

boost::proto::exprns_::basic_expr< boost::proto::tagns_::plus,
boost::proto::argns_::list2< boost::proto::exprns_::basic_expr<
boost::proto::tagns_::plus, boost::proto::argns_::list2<
boost::proto::exprns_::basic_expr< boost::proto::tagns_::terminal,
boost::proto::argns_::term<int> >, boost::proto::exprns_::basic_expr<
boost::proto::tagns_::terminal, boost::proto::argns_::term<int> > > >,
boost::proto::exprns_::basic_expr< boost::proto::tagns_::terminal,
boost::proto::argns_::term<int> > > >

This is just a + b + c and proto's type is already almost 3 times larger
(arguably in great part because of long namespace names).
I think proto-11 is going in the right direction by making things
variadic, but I don't think it's avoiding instantiating
boost.proto-specific expression types yet.


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