首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MPI_Comm_rank()中使用brew、git或内置于MPI中的mpi错误

在MPI_Comm_rank()中使用brew、git或内置于MPI中的mpi错误
EN

Stack Overflow用户
提问于 2018-02-01 23:47:39
回答 1查看 140关注 0票数 0

我不能让MPI在我的MacBook专业上工作。特别是,当我试图调用MPI_Comm_rank()时,它会阻塞故障。下面是一个示例程序:

代码语言:javascript
运行
复制
#include "mpi.h"
#include <iostream>

int main(int argc, char *argv[]) {
    std::cout << "Entered main\n";

    // Initialize parallel
    int rank, numProcess;
    MPI_Status status;
    MPI_Init(&argc, &argv);
    std::cout << "Init\n";
    MPI_Comm_rank(MPI_COMM_WORLD, &rank);
    std::cout << "Rank\n";
    MPI_Comm_size(MPI_COMM_WORLD, &numProcess);

    std::cout << "Initialized MPI; rank " << rank << "\n";

    MPI_Finalize();
    return 0;
}

它使用mpic++ mpi_test.cpp -o mpi_test编译得很好,但随后我尝试通过调用mpirun -np 2 ./mpi_test来运行它,并获得以下错误:

代码语言:javascript
运行
复制
Entered main
Entered main
Init
Init
[Bens-MacBook-Pro:22004] *** Process received signal ***
[Bens-MacBook-Pro:22004] Signal: Segmentation fault: 11 (11)
[Bens-MacBook-Pro:22004] Signal code: Address not mapped (1)
[Bens-MacBook-Pro:22004] Failing at address: 0x10000004c
[Bens-MacBook-Pro:22004] [ 0] 0   libsystem_platform.dylib            0x00007fffc0118b3a _sigtramp + 26
[Bens-MacBook-Pro:22004] [ 1] 0   ???                                 0x0000000113f92978 0x0 + 4630063480
[Bens-MacBook-Pro:22004] [ 2] 0   mpi_test                            0x00000001078e40d1 main + 81
[Bens-MacBook-Pro:22004] [ 3] 0   libdyld.dylib                       0x00007fffbff09235 start + 1
[Bens-MacBook-Pro:22004] *** End of error message ***
[Bens-MacBook-Pro:22005] *** Process received signal ***
[Bens-MacBook-Pro:22005] Signal: Segmentation fault: 11 (11)
[Bens-MacBook-Pro:22005] Signal code: Address not mapped (1)
[Bens-MacBook-Pro:22005] Failing at address: 0x10000004c
[Bens-MacBook-Pro:22005] [ 0] 0   libsystem_platform.dylib            0x00007fffc0118b3a _sigtramp + 26
[Bens-MacBook-Pro:22005] [ 1] 0   ???                                 0x000000004fc26c50 0x0 + 1338141776
[Bens-MacBook-Pro:22005] [ 2] 0   mpi_test                            0x000000010ffd90d1 main + 81
[Bens-MacBook-Pro:22005] [ 3] 0   libdyld.dylib                       0x00007fffbff09235 start + 1
[Bens-MacBook-Pro:22005] [ 4] 0   ???                                 0x0000000000000001 0x0 + 1
[Bens-MacBook-Pro:22005] *** End of error message ***
-------------------------------------------------------
Primary job  terminated normally, but 1 process returned
a non-zero exit code. Per user-direction, the job has been aborted.
-------------------------------------------------------
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 0 on node Bens-MacBook-Pro exited on signal 11 (Segmentation fault: 11).
--------------------------------------------------------------------------

注意,它通过了MPI_Init(),并且在MPI_Comm()中失败了。

当我(i)从git下载最新的OpenMpi库并直接安装它,以及(ii)通过brew安装OpenMPI时,我也会遇到同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-02 16:22:43

这个问题似乎是由于OpenMPI在$PATH中的版本相互冲突造成的。当我重置我的$PATH变量并专门使用brew安装编译和运行时,一切都正常。此时,我从设备中卸载并删除所有mpi库,然后重新安装并链接brew版本。现在一切都正常了。如果其他人参与了这件事。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48573602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档