【发布时间】:2015-01-13 20:41:49
【问题描述】:
我正在使用 Python、MPI 和 FFTW 进行一些并行编程。我需要在 N 个进程之间平均分配长度为 G 的向量(或尽可能接近相等)。这导致了以下数学问题:
给定两个整数 G,N,其中 G>N,我想找到 N 个整数的集合 S,其总和等于 G,并且“所有整数都尽可能大”。
例子:
G = 14, N = 3 --> S = {5, 5, 4}
G = 15, N = 3 --> S = {5, 5, 5}
G = 16, N = 3 --> S = {6, 5, 5}
计算 S 的算法在 FFTW 中由函数 fftw_mpi_local_size 实现。不过,我希望能够自己计算这个,使用 Python。也就是说,我正在寻找一种算法来解决我的问题,或者更好的是现有的 Python 函数来完成这项工作。
【问题讨论】:
标签: python algorithm math parallel-processing