对double的多个独立向量进行排序

时间:2013-09-27 08:45:30

标签: c++ sorting parallel-processing gpu gpu-programming

也许我有点不清楚:

我想做什么我尽可能快地对许多向量进行排序。 我有200个载体,200个双倍。

2 个答案:

答案 0 :(得分:0)

由于您尚未发布代码,我假设您正在寻找更好的代码优化以节省内存和时间。尝试在循环中使用标记。

for(i=1;x;i++)
{
    sort();
    if(flag)
       break;
}

“break”确保在对数据进行排序后不会迭代不必要的代码,该标志告诉编译器在迭代完成时退出循环语句。在嵌套循环中使用标志更为重要,因为空间复杂度超过O(n.square)并且它要求更高的效率。

这可以在大量迭代和内存空间上节省大量时间。尽可能尝试优化代码,从长远来看会产生很大的不同。

答案 1 :(得分:0)

使用Radix排序可以加快您的排序。

在Nvidia cuda / openCL SDK中有一个Radix排序算法的并行实现。