0
非常感谢你的答案在Cuda Thrust Custom function推力计数迭代内部功能
最后一两件事,如果我想通过另一种载体复制的值,如本?
for (i=0;i<n;i++)
for (j=0;j<n;j++)
y[i*n+j]=h1[i]*a1[pos*n+j];
它仍然不清楚如何将值传递给创建的函数谢谢!
非常感谢你的答案在Cuda Thrust Custom function推力计数迭代内部功能
最后一两件事,如果我想通过另一种载体复制的值,如本?
for (i=0;i<n;i++)
for (j=0;j<n;j++)
y[i*n+j]=h1[i]*a1[pos*n+j];
它仍然不清楚如何将值传递给创建的函数谢谢!
thrust::transform(
thrust::make_permutation_iterator(h1.begin(),
thrust::make_transform_iterator(thrust::make_counting_iterator(0),
IndexDivFunctor(n))),
thrust::make_permutation_iterator(h1.begin(),
thrust::make_transform_iterator(thrust::make_counting_iterator(0),
IndexDivFunctor(n))) + n * n,
thrust::make_permutation_iterator(a1.begin(),
thrust::make_transform_iterator(thrust::make_counting_iterator(0),
Indexa1Functor(n, pos))),
y.begin(),
thrust::multiplies<double>());
我不确定我是否按照这个问题。如果你想在不同的向量中得到结果,你不能只用'thrust :: copy'来创建输入向量的副本,然后使用'thrust :: transform'来完成这个操作。副本? – talonmies
是的,但它不只是一个普通的副本...此外,它将不得不通过向量2次与此... 不能我做一个变换一次吗? –