0

I want to find mvapich2's equivalent of OpenMPI's --showme flags. In particular, I'm trying to compile a library that I did not develop with the following code in its local.mk file:

# 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 and MPI_LINK_FLAGS are passed on to parts of the Makefile proper which compile the requisite scripts.

However, I am not using OpenMPI: I am using mvapich2 (version 2.3.6). I need to use mvapich2 because it corresponds better with the cluster I'm using. But I cannot find the equivalent of --showme:compile or --showme:link in the --help call for mpicc, or in any of the documentation for mvapich2. I've tried every variation of the --help call (including sending the output of -v to a text file so that I could search compile, flag, output, and print by regexp), to no avail.

More frustratingly, I can't even get an example of OpenMPI running so that I can see what --showme:compile or --showme:link is supposed to do. I know the OpenMPI documentation says they're supposed to "Output the compiler/linker flags that would have been supplied to the C compiler", but I don't even know what form that output takes so that I can assess the suspects for mvapich2 that I thought might work: my best (not good) guess so far was that the -Wl, family of commands are possibly what I want, but the comma delimitation doesn't seem right and it's trying to find a set of option that I'm supplying, which seems unsuitable for what I want. I just know that the things that I've tried haven't worked.

How can I get a --showme equivalent to work here?

1 Answers1

0

Do:

mpicc -show

On my system that gives:

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-dtags
Victor Eijkhout
  • 5,088
  • 2
  • 22
  • 23