boost :: compute copy自定义结构

时间:2016-11-22 01:03:13

标签: boost-compute

是否可以使用boost :: compute复制自定义结构数组? E.g。

struct A { float a; };
struct AB { float a; float b; };

BOOST_COMPUTE_ADAPT_STRUCT(A, A, (a))
BOOST_COMPUTE_ADAPT_STRUCT(AB, AB, (a, b))

boost::compute::vector<A> va(100);
boost::compute::vector<AB> vab(100);
boost::compute::copy(va.begin(), va.end(), vab.begin());

1 个答案:

答案 0 :(得分:4)

是的,请查看Boost.Compute测试中的this example。请记住:

  

由于主机编译器和。之间的struct padding不同   设备编译器,BOOST_COMPUTE_ADAPT_STRUCT()宏需要   适配的结构被打包(即成员之间没有填充字节)。

来源:boost/compute/types/struct.hpp