我想找到与OpenMPI的--showme标志相当的mVapich2。特别是,我正在尝试编译一个我没有在其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,因为它与我正在使用的集群更好地对应。但是在mpicc的--help调用中,或者在mvapich2的任何文档中,我都找不到与--showme:compile或--showme:link等效的东西。我已经尝试了--help调用的所有变体(包括将-v的输出发送到一个文本文件,以便可以通过regexp搜索compile、flag、output和print ),但都无济于事。
更令人沮丧的是,我甚至不能运行一个运行OpenMPI的示例,这样我就可以看到--showme:compile或--showme:link应该做什么。我知道OpenMPI文档说它们应该“输出本应提供给C编译器的编译器/链接器标志”,但我甚至不知道输出采用什么形式,以便评估我认为可能有效的mvapich2 :到目前为止,我最好(不太好)的猜测是-Wl,系列命令可能是我想要的,但是逗号分隔似乎不正确,它试图找到我提供的一组选项,这似乎不适合我想要的。我只知道我试过的东西都不管用。
我如何才能获得与在这里工作等效的--showme?
发布于 2021-11-17 23:03:34
执行以下操作:
mpicc -show在我的系统上,它提供了:
icc -lmpi -lmlx5 -I/opt/apps/intel19/mvapich2-x/2.3/include -L/opt/apps/intel19/mvapich2-x/2.3/lib64 -Wl,-rpath -Wl,/opt/apps/intel19/mvapich2-x/2.3/lib64 -Wl,--enable-new-dtagshttps://stackoverflow.com/questions/70009878
复制相似问题