如何使用 Visual Studio 2010 在 Windows 上使用 Open MPI 构建 boost::mpi 库
Posted
技术标签:
【中文标题】如何使用 Visual Studio 2010 在 Windows 上使用 Open MPI 构建 boost::mpi 库【英文标题】:How to build boost::mpi library with Open MPI on Windows with Visual Studio 2010 【发布时间】:2012-03-12 02:32:09 【问题描述】:我安装了 Open MPI 1.5.4(64 位),我正在尝试使用 bjam 重建 boost 库(1.48)。
我更改了 user-config.jam 文件,添加了带有显式编译器路径的 using mpi 行(尽管 mpic++ 已经在 PATH 环境变量中):
using mpi : "C:/Program Files (x86)/OpenMPI_v1.5.4-x64/bin/mpic++.exe" ;
然后我尝试从命令提示符运行以下命令:
bjam toolset=msvc --build-type=complete --with-mpi --address-model=64 stage
不幸的是,构建过程仍然需要更多提示。部分错误报告如下所示:
MPI auto-detection failed: unknown wrapper compiler C:/Program Files (x86)/OpenMPI_v1.5.4-x64/bin/mpic++.exe
有没有人设法在 Windows 下使用 Open MPI 编译 Boost MPI?我错过了什么吗?
【问题讨论】:
我怀疑这与您遇到的问题有关,但应该是toolset=msvc
sans --
;其余的看起来是正确的。您是否尝试过在 user-config.jam 中使用短路径名?
我也尝试过短路径名。你对工具集参数是正确的,但它没有区别。我会更正命令行
尝试将--debug-configuration
传递给bjam;这应该会给出关于编译器包装器检测失败的原因的更详细的输出。
我也试过了。从那里没有任何提示。我现在正在“调试”mpi.jam。在为 Windows 运行时,我已经发现了一些问题。仍在寻找解决方案...并发现有关类似情况的帖子:lists.boost.org/boost-build/2010/11/24369.php
【参考方案1】:
可能对我有用...我使用 Microsoft MPI 而不是 OpenMPI。
-
安装Microsoft MPI
编辑
project-config.jam
并添加using mpi ;
编辑tools\build\v2\map.jam
并找到Microsoft Computer Cluster并将路径更改为C:\Program Files\Microsoft MPI
将C:\Program Files\Microsoft MPI
中的Inc
文件夹重命名为Include
运行bjam --with-mpi
给我链接错误,但我发布的是我得到的......
【讨论】:
请参考这篇文章,我有一个工作版本。 ***.com/questions/9433311/…【参考方案2】:我在较旧的blog 中找到了解决方案:
什么对我有用(仅使用 OpenMPI 测试):
-
将 c:\OpenMPI_v1.6.2-win32\bin\ 添加到路径变量中
在 BOOST_ROOT\tools\build\v2\user-config.jam 内:使用 msvc ;使用 mpi ;
在 mpi.jam 中,我更改了本地 cluster_pack_path_native = "C:\Program Files\Microsoft Compute Cluster Pack" ;到本地 cluster_pack_path_native = "c:\OpenMPI_v1.6.2-win32" ;
运行 bjam --with-mpi
【讨论】:
以上是关于如何使用 Visual Studio 2010 在 Windows 上使用 Open MPI 构建 boost::mpi 库的主要内容,如果未能解决你的问题,请参考以下文章
在本地运行/调试时如何使用 Visual Studio 2010 配置转换?
使用 Visual C++ 编译器 (Visual Studio 2010) 的可变数组大小出错。如何规避这个问题?
如何在 Visual Studio 2010 中使用 Crystal Reports 创建报表