首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >openMPI中缺少的gethostname()函数

openMPI中缺少的gethostname()函数
EN

Stack Overflow用户
提问于 2014-03-04 14:37:22
回答 1查看 3.7K关注 0票数 1

我不得不将mpich2替换为OpenMPI,因为OpenFOAM依赖于OpenMPI。

在我的代码中(使用mpich2)之前,我使用gethostname()函数来获得机器的名称,以便进行调试。然而,这个函数似乎不是一个标准的MPI函数,并且不再与OpenMPI库一起工作。在OpenMPI或MPI标准中是否还有其他函数来获取主机名?我使用mpicc编译,mpirun运行代码。

谢谢,

苏拉布

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 19:21:20

gethostname()是在unistd.h中定义的,它是由mpi.h在以前版本中包含的。这不是您应该依赖的特性,因为您应该始终显式地包含定义您使用的符号的文件。很明显你是在不知不觉地依赖它。

但是,如果您的MPI代码应该只在POSIX系统上运行,则可以安全地添加

代码语言:javascript
复制
#include <unistd.h>

gethostname()是POSIX2001.1标准。

然而,MPI可移植解决方案是MPI_Get_processor_name(),如高性能标记的注释所示

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

https://stackoverflow.com/questions/22174901

复制
相关文章

相似问题

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