我在GPU的设备内存中有一个结构A的向量。
struct A{
int a;
int type;
}
我正在尝试拆分每种类型并将其存储在数组中。
For example if the types are 0,1 and 2,then split all 0's,1's and 2's
in a separate array.
我想的方法是使用并行的switch case来实现它,但它可能导致很多分歧,因此可能效率不高。
还有其他方法可以提供帮助吗?
答案 0 :(得分:1)
我首先要查看推力:
http://docs.nvidia.com/cuda/thrust/
how fast is thrust::sort and what is the fastest radix sort implementation
有一种方法可以使用键/值对进行排序,以防您需要与其一起进行排序:
Thrust Sort by key on the fly or different approach?
我已经实现了自己的cuda基数排序。我需要跟踪索引号,而我则根据具体情况进行排序。如果这些选项对您不起作用,我可以尝试找一些时间来记录它。