假设我有两个device_vector <byte>数组,d_keys并且d_data.
d_data例如,如果是扁平的2D 3x5阵列(例如{1,2,3,4,5,6,7,8,9,8,7,6,5,4,3})并且d_keys是1D阵列大小为5(例如{1,0,0,1,1}),我如何进行减少,这样如果相应的d_keys值为1 ,我最终只会按行添加值(例如,结束结果为{10,23,14})?
该sum_rows.cu例如允许我加入的每一个值d_data,但是这并不完全正确.
或者,我可以在每行的基础上使用a zip_iterator并一次合并d_keys一行d_data,然后执行a transform_reduce,仅在键值为1时添加,但是我必须循环遍历d_data数组.
我真正需要的是某种transform_reduce_by_key不是内置的功能,但肯定必须有一种方法来实现它!