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次與此... 不能我做一個變換一次嗎? –