
On 9/18/2012 1:32 PM, Mathias Gaunard wrote:
On 09/18/2012 10:05 PM, Eric Niebler wrote:
On 9/18/2012 11:42 AM, Manjunath Kudlur wrote:
The thing needed to make Proto more CUDA-friendly is the same thing that is needed to make it AMP-friendly, in case you are familiar with C++ AMP [1]. Basically, you have to intrusively annotate every Proto function with the "__host__ __device__" annotation (restrict(x86, amp) in the case of C++ AMP).
*Every* function in Proto? Or the just ones that build Proto expressions? Or evaluate them? Or some other subset?
The ones to evaluate them. value, proto_base and child_c could be a usable subset.
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>
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? -- Eric Niebler BoostPro Computing http://www.boostpro.com