我必须使用许多不同的键对数组进行键控减少,这些键只在一段时间内重复一次:
keys = {1,2,3,3,4,5,6,7,7, 8, 9, 9,10,11,...}
array = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,...}
// after reduction
result = {1,2,7,5,6,7,17,10,23,13,14}
使用thrust::reduce_by_key
(或任何其他分段缩减方法)在这里并不是最快的选择,因为大多数操作实际上只是从一个数组复制到另一个数组。
解决这个问题的更好方法是什么?