相关疑难解决方法(0)

哪种并行排序算法具有最佳的平均案例性能?

排序在串行情况下需要O(n log n).如果我们有O(n)处理器,我们希望线性加速.存在O(log n)并行算法,但它们具有非常高的常数.它们也不适用于没有O(n)处理器附近的商品硬件.对于p个处理器,合理的算法应该花费O(n/p log n)时间.

在串行的情况下,快速排序平均具有最佳的运行时复杂性.并行快速排序算法易于实现(请参见此处和此处).但是它表现不佳,因为第一步是将整个集合划分到单个核心上.我已经找到了许多并行排序算法的信息,但到目前为止我还没有看到任何指向明显赢家的信息.

我希望在运行8到32个内核的JVM语言中对100万到1亿个元素的列表进行排序.

sorting algorithm concurrency

127
推荐指数
2
解决办法
6万
查看次数

C++ 17并行算法已经实现了吗?

我试图使用C++ 17标准中提出的新并行库功能,但我无法使其工作.我试着用的了最新版本的编译g++ 8.1.1和clang++-6.0和-std=c++17,但也似乎支持#include <execution>,std::execution::par或任何类似.

声称,在查看并行算法的cppreference时,有很多算法列表

技术规范提供以下69种算法的并行化版本algorithm,numeric并且memory:( ...长列表...)

听起来像算法已经准备好'在纸上',但尚未准备好使用?

在一年多前的SO问题中,答案声称这些功能尚未实现.但到现在为止,我希望看到某种实现方式.有什么我们可以使用的吗?

c++ parallel-processing g++ clang++ c++17

17
推荐指数
4
解决办法
4329
查看次数