【发布时间】:2021-12-28 18:06:26
【问题描述】:
我想找到 mvapich2 的等效于 OpenMPI 的 --showme 标志。特别是,我正在尝试编译一个我没有在其 local.mk 文件中使用以下代码开发的库:
# If using OpenMPI, and mpicc is in your path, then no modification here is
# necessary. Otherwise, fill in appropriate flags here
MPI_COMPILE_FLAGS = -DOMPI_SKIP_MPICXX=1 $(shell mpicc --showme:compile)
MPI_LINK_FLAGS = $(shell mpicc --showme:link)
MPI_COMPILE_FLAGS 和 MPI_LINK_FLAGS 被传递到 Makefile 的某些部分,用于编译必需的脚本。
但是,我没有使用 OpenMPI:我使用的是 mvapich2(版本 2.3.6)。我需要使用 mvapich2 因为它与我正在使用的集群更好地对应。但我在--help 调用mpicc 或mvapich2 的任何文档中找不到--showme:compile 或--showme:link 的等价物。我已经尝试了--help 调用的所有变体(包括将-v 的输出发送到文本文件,以便我可以通过正则表达式搜索compile、flag、output 和print),无济于事。
更令人沮丧的是,我什至无法获得运行 OpenMPI 的示例,因此我可以看到 --showme:compile 或 --showme:link 应该做什么。我知道 OpenMPI 文档说他们应该“输出将提供给 C 编译器的编译器/链接器标志”,但我什至不知道该输出采用什么形式,以便我可以评估 mvapich2 的嫌疑人我认为可能有效:到目前为止,我最好(不好)的猜测是 -Wl, 系列命令可能是我想要的,但逗号分隔似乎不正确,它试图找到一组我想要的选项正在供应,这似乎不适合我想要的。我只知道我尝试过的事情没有奏效。
我怎样才能获得与在这里工作等效的--showme?
【问题讨论】: