本文介绍了Microsoft MPI和mpi4py 3.0.0,python 3.7.1当前是否可能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在尝试了所有可以想象和无法想象的一切之后,我感到非常沮丧,似乎他们的SDK( https://www.microsoft.com/zh-cn/download/details.aspx?id=57467 )缺少了一些内容:

I am very frustrated after a whole week of trying everything imaginable and unimaginable, it seems that their SDK ( https://www.microsoft.com/en-us/download/details.aspx?id=57467 ) is missing something:

C:\Anaconda3\PCbuild\amd64 /LIBPATH:build\temp.win-amd64-3.7 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763
.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x64" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\MPI\Lib\x64" msmpi.lib /EXPORT:PyInit_MPI build\temp.win-amd64-3.
7\Release\src/MPI.obj /OUT:build\lib.win-amd64-3.7\mpi4py\MPI.cp37-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.lib
    MPI.obj : warning LNK4197: export 'PyInit_MPI' specified multiple times; using first specification
       Creating library build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.lib and object build\temp.win-amd64-3.7\Release\src\MPI.cp37-win_amd64.exp
    MPI.obj : error LNK2001: unresolved external symbol MPI_Ireduce_scatter
    MPI.obj : error LNK2001: unresolved external symbol MPI_Iallgatherv
    MPI.obj : error LNK2001: unresolved external symbol MPI_Iexscan
    MPI.obj : error LNK2001: unresolved external symbol MPI_Iscan
    MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoallw
    MPI.obj : error LNK2001: unresolved external symbol MPI_Ireduce_scatter_block
    MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoall
    MPI.obj : error LNK2001: unresolved external symbol MPI_Ialltoallv
    MPI.obj : error LNK2001: unresolved external symbol MPI_Reduce_scatter_block
    build\lib.win-amd64-3.7\mpi4py\MPI.cp37-win_amd64.pyd : fatal error LNK1120: 9 unresolved externals
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' failed with exit status 1120

如果真的不可能使其正常工作,请告诉我应该使用哪种MPI分发而不是Microfost MPI,因为 https://www.mpich.org/downloads/没有为Windows提供任何替代方法.

If it's really impossible to make it work, then tell me which distribution of MPI should I use instead of Microfost MPI, since https://www.mpich.org/downloads/ does not provide any alternatives for Windows.

P.S .: mpi4py 2.0.0与python 3.7不兼容(至少Anaconda告诉我),所以我宁愿选择另一种MPICH发行版(如果有)而不是降级我的python.

P.S.: mpi4py 2.0.0 is incompatible with python 3.7 (at least Anaconda tells me so), so I 'll rather choose another distribution of MPICH (if there is one) than downgrade my python.

推荐答案

我已将其与3.7.0一起使用...

I've got it working with 3.7.0...

我从 https://www.microsoft.com下载了MSMPI .com/en-us/download/details.aspx?id = 57467 我运行了两个文件,然后将其添加到PATH中(C:\ Program Files(x86)\ Microsoft SDKs \ MPI)

I downloaded MSMPI from https://www.microsoft.com/en-us/download/details.aspx?id=57467I ran both files, then added it to the PATH(C:\Program Files (x86)\Microsoft SDKs\MPI)

然后我只用了python -m pip install mpi4py

要运行MPI程序,我们然后mpiexec -n [number of cores] python .\filename

To run a MPI program, I then us mpiexec -n [number of cores] python .\filename

我正在Windows 10中的AMD A-10 9600P上运行.

I'm running on a AMD A-10 9600P in Windows 10.

我确实安装了Visual Studio,因此它可能会挂接到一些您没有的库中.

I do have Visual Studio installed, so it's possible that it's hooking into some libs you don't have...

这篇关于Microsoft MPI和mpi4py 3.0.0,python 3.7.1当前是否可能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 00:32