adding -Mipa=fast produce pgf90-Fatal-/opt/pgi/linux86-64/9

My f90 w/ MPI code compiled fine, w/ -Mipa=fast until I decided to move some subroutines to separate files (to reuse them in other codes).

The new version compiles, links and runs fine w/

-fast -tp k8-64,k8-64e

but the recompiling (after removing all *.o) and linking crashes when using

-fast -Mipa=fast -tp k8-64,k8-64e

I moved 5 routines out of a ‘contains’ section – and I would like to avoid back pedaling one routine at a time to track the source. Can this be in any way diagnosed (see below)?

Sylvain.

/opt/pgi/linux86-64/9.0/mpi/mpich/bin/mpif90 -fast -Mipa=fast -tp k8-64,k8-64e -o dofit5fiimp dofit5fiimp.o setleaks.o setparams_5fii.o readspcmp.o recvspc.o domodel3mp.o domodel3s.o fitmodel3mp.o servefitmodel3mp.o bcstparams.o iwhichvals.o setbrot.o setfitrange.o sanitycheck.o saveparams4fmp.o cmodel.o cmpgll.o cmpdnudl.o getrleak-distorted.o cmpcovar.o stopit.o mpolyfit.o mlgpolyfit.o mfitsio.o mutils.o msanmba.o swap.o mpilib.o -llapack -lblas -L/opt/pgi/linux86-64/9.0/mpi/mpich/lib -lmpichf90
IPA: no IPA optimizations for 3 source files
IPA: Recompiling dofit5fiimp.o: new IPA information
pgf90-Fatal-/opt/pgi/linux86-64/9.0-3/bin/pgf901 TERMINATED by signal 11
Arguments to /opt/pgi/linux86-64/9.0-3/bin/pgf901
/opt/pgi/linux86-64/9.0-3/bin/pgf901 dofit5fiimp.f90 -opt 2 -terse 1 -inform warn -nohpf -nostatic -x 19 0x400000 -quad -x 59 4 -x 59 4 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -x 57 0xfb0000 -x 58 0x78031040 -x 70 0x6c00 -x 47 0x400000 -x 48 4608 -x 49 0x100 -x 120 0x200 -stdinc /opt/pgi/linux86-64/9.0-3/include-gcc41:/opt/pgi/linux86-64/9.0-3/include:/usr/local/include:/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include:/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def __NO_MATH_INLINES -def x86_64 -def LONG_MAX=9223372036854775807L -def ‘SIZE_TYPE=unsigned long int’ -def ‘PTRDIFF_TYPE=long int’ -def __THROW= -def extension= -def amd64 -def SSE -def MMX -def SSE2 -def SSE3 -freeform -vect 48 -x 53 2 -quad -x 119 0x10000000 -quad -x 119 0x10000000 -x 89 2961644354 -x 66 84090906 -y 89 0x40 -y 89 0x40 -ipaexport dofit5fiimp.o -ipximport 0 -ipafile dofit5fiimp.ipa -y 89 2 -y 14 16 -x 14 32 -x 89 0x40 -x 66 0x20000000 -output /tmp/pgf90qLDdWEar_a4j.ilm
child process exit status 127: /opt/pgi/linux86-64/9.0-3/bin/pgf90
make: *** [dofit5fiimp] Error 2

Hi Sylvain,

Can you please send a report to PGI Customer service (trs@pgroup.com) and include an example the reproduces the error? This looks like a serious compiler error that I’d like to get our engineers looking at.

Thanks,
Mat

Hi Mat,

1- I will send two reports to PGI Customer service (trs@pgroup.com), one about this crash, and one about what looks to me a namespace glitch – in same program. I’ll post what I see as a new thread later.

2- Question: I can compile all the routines w/ -Mipa=fast but the linking fails, and some of the routines are linked OK when building two other codes w/ -Mipa=fast – is it safe to use the same routines (.o and .oo) and link that code w/out -Mipa=fast ? BTW, that works, but is the resulting executable ‘safe’?

My other options is to a) not use -Mipa=fast for all routines and the 3 execs, or make clean and rebuild w/o the offending flag for just that exec…

Thanks,
Sylvain.

Hi Sylvain,

It’s fine to compile with IPA and then not link with IPA. Your binary would be the same as if IPA was not used at all.

  • Mat