[mpich-discuss] MPE and F90
Atchley, Scott
atchleyes at ornl.gov
Wed Feb 15 13:57:51 CST 2012
Hi all,
I have compiled mpe2-1.3.0 using mpich2 on a Cray XE6 using Intel 12 compilers. I have a simple MPI application in C and F90. I can compile the C source and link it with -llmpe -lmpe and get a clog2 output file. When I compile the F90 source and link it with -lmpe_f2cmpi -llmpe -lmpe, I see MPE symbols in the output of nm, but I do not get a clog2 output file nor do I see any MPE messages in stdout.
I tried manually linking as well as using mpefc. Here is mpefc's output with -show:
$ mpefc -mpilog -show -o foo hello.F90
ftn -Wl,--export-dynamic -I/ncrc/home2/Scott.Atchley/mpe2-1.3.0/build/gaea-intel/include -o foo hello.F90 -L/ncrc/home2/Scott.Atchley/mpe2-1.3.0/build/gaea-intel/lib -lmpe_f2cmpi -llmpe -lmpe
Here is the output without -show but with -v (link info only):
ld /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crt1.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crti.o /usr/lib64/gcc/x86_64-suse-linux/4.3/crtbeginT.o -static -L/ncrc/home2/Scott.Atchley/mpe2-1.3.0/build/gaea-intel/lib -L/opt/cray/udreg/2.3.1-1.0400.3911.5.6.gem/lib64 -L/opt/cray/ugni/2.3-1.0400.3912.4.29.gem/lib64 -L/opt/cray/pmi/3.0.0-1.0000.8661.28.2807.gem/lib64 -L/opt/cray/dmapp/3.2.1-1.0400.3965.10.12.gem/lib64 -L/opt/cray/xpmem/0.1-2.0400.29883.4.6.gem/lib64 -L/opt/cray/mpt/5.4.1/xt/gemini/mpich2-intel/120/lib -L/opt/xt-libsci/11.0.04/intel/120/interlagos/lib -L/opt/cray/xe-sysroot/4.0.30.securitypatch.20111005/usr/lib64 -L/opt/cray/xe-sysroot/4.0.30.securitypatch.20111005/lib64 -L/opt/cray/xe-sysroot/4.0.30.securitypatch.20111005/usr/lib/alps -L/usr/lib/alps -o foo /opt/intel/composerxe-2011.5.220/compiler/lib/intel64/for_main.o -L/opt/intel/composerxe-2011.5.220/compiler/lib/intel64 -L/opt/intel/composerxe-2011.5.220/compiler/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/opt/intel/composerxe-2011.5.220/compiler/lib/intel64 -L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/lib -L/usr/lib64/gcc/x86_64-suse-linux/4.3/../../.. -L/lib64 -L/lib -L/usr/lib64 -L/usr/lib --export-dynamic /tmp/ifortArctOI.o -lmpe_f2cmpi -llmpe -lmpe -L/opt/cray/atp/1.4.1/lib/ -lAtpSigHandler --undefined=__atpHandlerInstall --start-group -lscicpp_intel -lsci_intel_mp -lstdc++ -lifcore -lmpichf90_intel -lmpich_intel -lmpichf90_intel -lmpl -lxpmem -ldmapp -lugni -lpmi --as-needed -lalpslli -lalpsutil --no-as-needed -ludreg -lpthread -limf -L/opt/intel/composerxe-2011.5.220/compiler/lib/intel64 -limf -lm --end-group -liomp5 -lpthread -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -u __pthread_once -lpthread -lc -lgcc -lgcc_eh -lirc_s -ldl -lc /usr/lib64/gcc/x86_64-suse-linux/4.3/crtend.o /usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../lib64/crtn.o
The mpe libs are listed before the mpich libs. Any idea why it works with C and not F90?
Thanks,
Scott
More information about the mpich-discuss
mailing list