Hi, I created the following ticket: https://svn.boost.org/trac/boost/ticket/3919 that gathers the basic files needed to actually make nvcc a proper compiler target for boost. THe patch contain a macro called BOOST_GPU_ENABLED that resolves as : __host__ __device__ This macro can be used on any function or method declaration in Boost so they can be used as device AND host function. Making boost fully GPU compatible (ie compiling boost component inside a device function) may require to add this on EVERY possible boost function and method. Considering he amount of work needed I prefer first put this up and see what people make out of it. Concernign proto itself, i finally understood why the previous patch was needed. Seems a BOOST_NO_XXX is still missing. I'll investigate and propose a proper patch for that. Side note: If anyone is interested into pursuing efforts in this direction, we'll gladly accept help (evn just for testing) and comments so we can actually tackle a proper patching process on interesting components. Regards