使用MVAPICH2时如何获取OpenMPI mpicc的--showme系列等效参数
MVAPICH2 中 OpenMPI
--showme 系列参数的等效实现方案 MVAPICH2 是基于 MPICH 开发的 MPI 实现,没有 OpenMPI 专属的 --showme 类参数,你可以直接使用 MPICH 体系通用的 wrapper 编译器查询参数完成等效功能,直接修改你 local.mk 中的对应配置即可:
# 适配 MVAPICH2 2.3.6 版本的编译、链接参数配置 MPI_COMPILE_FLAGS = $(shell mpicc -compile-info | cut -d' ' -f2-) MPI_LINK_FLAGS = $(shell mpicc -link-info | cut -d' ' -f2-)
参数说明
- 原 OpenMPI 配置中的
-DOMPI_SKIP_MPICXX=1是 OpenMPI 专属的 C++ 绑定跳过宏,MVAPICH2 不需要该定义,直接删除即可。 mpicc -compile-info:输出 MVAPICH2 的 mpicc wrapper 实际调用底层 C 编译器时的完整编译命令,通过cut去掉首个字段(底层 C 编译器路径)后,剩余内容和--showme:compile输出完全一致,包含所有编译所需的头文件路径、预定义宏等参数。mpicc -link-info:输出 MVAPICH2 的 mpicc wrapper 实际调用链接器时的完整链接命令,同样通过cut去掉首个字段后,和--showme:link输出完全一致,包含所有链接所需的库路径、依赖库名等参数。
验证方法
你可以直接在集群终端执行以下命令查看输出,确认参数符合预期:
- 查看编译参数:
mpicc -compile-info - 查看链接参数:
mpicc -link-info
如果你的环境中上述两个参数不生效,也可以使用通用的mpicc -show命令输出完整的编译+链接全流程参数,按需拆分使用即可。
内容的提问来源于stack exchange,提问作者Breaking Bioinformatics
相关产品推荐
相关产品推荐

