linux - 在 ARM 上的 Linux 上运行 MPI (OpenMPI) 应用程序时出现问题

标签 linux arm mpi openmpi

我正在尝试关注 this tutorial用于在基于 ARM 的 Ubuntu 11.10 系统上构建和运行 MPI 应用程序。

在我的PC机上安装open-mpi环境时,示例程序运行良好。但是,在 ARM 机器上尝试相同的操作时,终端挂断了,我需要从第二个终端终止 MPI 进程才能释放它。

我在两台机器上使用 apt-get 安装的 MPI 包是 mpi-default-devmpi-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/

相关文章:

linux - 如何从linux中的pid获取进程的路径或名称

c - 随机数生成 - ARM7 上的 C

mpi - 高效的单向沟通

parallel-processing - MPI集合运算在多核机上的实现细节

linux - Google Hangout 插件 linux ARM (armhf)

linux - 了解设备驱动程序读写函数中的指针

iOS ARM : why no call to division routine from main()?

c++ - 加快 CSV 文件的处理速度

android - Perf 无法在 Android 上正确显示调用图

c - 关闭 ARM9 (LPC3141) 上的单个 GPIO 引脚