我想知道是否有一个模拟来提升计算功能(http://www.boost.org/doc/libs/1_61_0/libs/compute/doc/html/boost_compute/advanced_topics.html#boost_compute.advanced_topics.custom_functions)变成内核并且可以创建为嵌入式内联代码变成内核?
答案 0 :(得分:3)
在推力中,您可以使用带有__device__
限定符的函数/函子。矢量操作saxpy
的示例显示在链接中,您可以在其中找到仿函数saxpy_functor
http://docs.nvidia.com/cuda/thrust/#transformations
与boost::compute
类似,您也可以将推力lambda表达式用作
thrust::transform(X.begin(), X.end(), Y.begin(), Y.begin(), A * _1 + _2);
或更多标准C ++ lambda表达式,如@RobertCrovella所示。