我正在尝试按照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包 - 但结果是一样的。
答案 0 :(得分:3)
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软件包。