【发布时间】:2014-05-02 15:27:58
【问题描述】:
如果我使用
float sum = thrust::transform_reduce(d_a.begin(), d_a.end(), conditional_operator(), 0.f, thrust::plus<float>());
我得到满足conditional_operator() 提供的条件的所有元素的总和,如Conditional reduction in CUDA。
但是我只能对 d_a[0]、d_a[2]、d_a[4]、d_a[6]、..... 的元素求和吗?
我想过更改条件运算符,但它适用于数组中的元素,而不引用索引。
我能做些什么呢?
【问题讨论】:
-
如果您愿意的话,在推力示例中有一个准备就绪的“跨步迭代器”。
-
@talonmies 如果你能发表一个简短的回答,指出你在评论中提到的内容,我会赞成。