我正在尝试关注 this tutorial用于在基于 ARM 的 Ubuntu 11.10 系统上构建和运行 MPI 应用程序。
在我的PC机上安装open-mpi环境时,示例程序运行良好。但是,在 ARM 机器上尝试相同的操作时,终端挂断了,我需要从第二个终端终止 MPI 进程才能释放它。
我在两台机器上使用 apt-get 安装的 MPI 包是 mpi-default-dev
和 mpi-default-bin
,所以我假设这些包尽可能更新。
教程中的第一个示例程序使每个进程都打印一条包含一些信息的“hello”消息。在 PC 上,我从所有 8 个进程(尽管在单个内核上运行)收到消息,然后程序结束。在 ARM 上,我根本没有输出。程序启动后立即卡住。
知道哪里出了问题吗?我什至不确定从哪里开始调试它?
更新:我尝试删除 OpenMPI 包并安装替代的 MPICH2 包 - 但结果是一样的。
最佳答案
Ubuntu 11.10 没有附带用于 ARM 的功能性 Open MPI 实现(尽管它可能附带了一个非功能性的实现)。 Ubuntu 12.04 做到了。
我建议从源代码构建您自己的 Open MPI - 可在 http://www.open-mpi.org/software/ompi/v1.6/ 获得,除非您可以更新到更新版本的 Ubuntu。
或者,您可以使用 https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/949044 中指出的修复重建 11.10 包.
关于linux - 在 ARM 上的 Linux 上运行 MPI (OpenMPI) 应用程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14309386/