我试图在核心(工作人员)之间发送消息,但是消息的数量和它们的目的地是未知的。我正在研究的是矩阵完成/SGD。为此,我试图熟悉MPI包mpi4py For Python。在一定的时间内,每个工作人员将连续从列表中删除项目,进行一些计算,然后将项目发送给另一个随机工作人员。列表将很快变为空,因此工作人员还必须检查其他随机工作人员发送的传入数据,并将其添加到列表中。在下面的尝试中,我试图让工作人员发送一条结束消息,以表示这是最后一条消息,但这条消息没有被接收。现在使用recv/irecv是错误的吗</
我试图在一些有重叠区域的处理器上分配一个2D矩阵。我注意到mpi4py的函数分散不适用于2d数组,于是我被迫使用一维数组。这里的问题是,在某些处理器中的位移可以大于int的极限。import numpy as npfrom math import ceil
N = 50000np.float32).ravel()
Im = None
Im_loc = np.zeros((
我已经安装了Visual C++ Build和MSMPI。还为H5PY安装了H5PY,但它不允许我构建H5PY的旧版本。所以,我试着安装H5PY的最新版本,但仍然遇到了文件找不到之类的错误。在努力解决这样的错误并安装一个或另一个软件包来完成同样的任务时,我感到厌倦了。最后,我发现"mpi_c“文件在较新版本的MPI4PY中被替换为其他文件。但我的依赖依赖于旧版本。我试着安装一个旧版本的MPI4PY,但HDF5不允许我安装它,从而产生其他错误。最后,我放弃了任务,在这之后浪费了一整天的时间。因此,