Substution of DFPORT in Linux

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.


dave

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 for vpaddd’
/tmp/pgfortranTLLbhb9-DKat.s:1260: Error: suffix or operands invalid for vpcmpgtd' /tmp/pgfortranTLLbhb9-DKat.s:1262: Error: suffix or operands invalid for vpaddd’

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.

as --version

will tell you what version of assembler, ld, etc (ie binutils) you have.

dave

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.

See this UF entry

about random_number.

dave