【发布时间】:2014-04-06 03:53:23
【问题描述】:
由于 OpenFOAM 对 OpenMPI 的依赖,我不得不将 mpich2 替换为 OpenMPI。
之前(使用 mpich2 时)在我的代码中,我使用 gethostname() 函数来获取机器的名称以进行调试。然而,这个函数似乎不是标准的 MPI 函数,并且不再适用于 OpenMPI 库。在 OpenMPI 或 MPI 标准中是否有任何其他功能可以获取主机名?我使用 mpicc 进行编译,使用 mpirun 运行代码。
谢谢,
苏拉布
【问题讨论】:
-
gethostname不是标准的 MPI 函数。您是否将其与MPI_Get_processor_name混淆了? -
实际上 gethostname() 以前可以工作,安装 OpenMPI 后它停止工作。我刚刚检查了 MPI_Get_processor_name() 是否正常工作,谢谢。
-
gethostname()的原型在unistd.h。它究竟是如何不使用 Open MPI 的? -
我不知道怎么做!我没有包括
unistd.h,但是当我只包括mpi.h和stdio.h时gethostname()正在工作我唯一的解释是gethostname()可能在mpich2的mpi.h的某个库中定义.
标签: mpi