Which module does PGF90 serve that can be used instead of DFPORT in Linux?
Try commenting it out. Many of the things in DFPORT are for
enabling Linux functions/intrinsics on Windows.
See if that works.
It doesn’t seem to work.
This is the error message I get:
/opt/pgi/linux86-64/16.5/mpi/openmpi/bin/mpif90 -c -O3 -r8 -I. -I…/MATRA/bld -Mpreprocess ioutil.f90
/tmp/pgfortranTLLbhb9-DKat.s: Assembler messages:
/tmp/pgfortranTLLbhb9-DKat.s:1235: Error: no such instruction:
vinserti128 $1,%xmm1,%ymm1,%ymm3' /tmp/pgfortranTLLbhb9-DKat.s:1237: Error: no such instruction:vinserti128 $1,%xmm0,%ymm0,%ymm4’
/tmp/pgfortranTLLbhb9-DKat.s:1246: Error: no such instruction:
vinserti128 $1,%xmm0,%ymm0,%ymm2' /tmp/pgfortranTLLbhb9-DKat.s:1247: Error: no such instruction:vinserti128 $1,%xmm1,%ymm1,%ymm1’
/tmp/pgfortranTLLbhb9-DKat.s:1250: Error: suffix or operands invalid for
vpcmpeqq' /tmp/pgfortranTLLbhb9-DKat.s:1258: Error: suffix or operands invalid forvpaddd’
/tmp/pgfortranTLLbhb9-DKat.s:1260: Error: suffix or operands invalid for
vpcmpgtd' /tmp/pgfortranTLLbhb9-DKat.s:1262: Error: suffix or operands invalid forvpaddd’
What could be the problem?
I omitted source code because it is too long, but if you need, I can post it.
The assembler error messages are probably due to you having a cpu
that is newer than the assembler. Try installing binutils 2.25 or newer.
will tell you what version of assembler, ld, etc (ie binutils) you have.
Thank you for the idea and reply in early morning.
The assembler version was 2.20, and the CPU was i7-5930K.
Because I’m not familiar with Linux environment, I didn’t want to make changes to the system.
So, I tried using compiler option for targeting i7 processors, i.e, -tp=nehalem-64, instead of updating the assembler.
And it worked.
But I have another problem; drandm which is included in DFPORT does not work in Linux.
Can I just change it to RANDOM_NUMBER? Do they work in exactly same way?
I have to be careful because the source code had been written by someone else.