用于解决分布式内存机器中的线性选择问题的库

计算科学 算法 C++ mpi 图书馆
2021-12-06 09:20:11

我需要在分布式内存机器中解决一个非常大 O(10^10)的线性选择问题,是否有任何库可以为我解决它?

在共享内存机器中,例如std::nth_element,它是平均的O(n),但也存在确定性O(n)算法。只要易于实施,我就可以忍受更糟糕的事情。我也希望它在输入迭代器/输入范围上工作,而不是为了节省内存而具有线性复杂性。我有一个数据集,我想对其进行后处理,然后将其用作线性选择算法的输入,如果我能“即时”完成它会更好。我也只想解决某些值的线性选择问题,并且不想解决多次,每个值一次。

1个回答

我想你想看看我这篇论文的第 5.1 节:http: //www.math.tamu.edu/~bangerth/publications/2010-distributed.pdf

那里描述的算法具有复杂性O(NPlog2P). 代码只有大约 20 行。