3

是否可以使用 boost::compute 复制自定义结构的数组?例如

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());
4

1 回答 1

4

是的,看看这个来自 Boost.Compute 测试的例子。请记住:

由于主机编译器和设备编译器之间结构填充的差异,BOOST_COMPUTE_ADAPT_STRUCT() 宏要求对适应的结构进行压缩(即成员之间没有填充字节)。

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

于 2016-11-23T10:24:09.287 回答