AnsweredAssumed Answered

Illegal instruction: ACML 5.3.0+Open64 4.5.2

Question asked by rc556677 on Dec 31, 2012
Latest reply on Jan 2, 2013 by rc556677

This is on Fedora 18 Beta:

 

Fortran examples are failing witth "Illegal instruction" using Open64 4.5.2 and ACML 5.3.0

The target CPU is Phenom II X4 965

All C C++ examples pass. Only the Fortran examples fail

It looks like an illegal instruction in the Fortran support library.

I wonder whether this is an Open64 or ACML problem?

 

The combination of  GCC 4.7.2 and ACML 5.3.0 passes all examples

 

[178502.799741] traps: sgetrf_example.[8443] trap invalid opcode ip:7f87dac66780 sp:7fffd45fe468 error:0 in libffio.so[7f87dac14000+84000]

 

$ /opt/acml5.3.0/util/cpuid.exe

Chip manufacturer: AuthenticAMD

AuthenticAMD family 15 extended family 1 model 4

Model Name: AMD Phenom(tm) II X4 965 Processor

Chip supports SSE

Chip supports SSE2

Chip supports SSE3

Chip does not support AVX

Chip does not support FMA3

Chip does not support FMA4

 

Compiling program acmlinfo.f:

openf95 -c -O1 acmlinfo.f -o acmlinfo.o

Linking program acmlinfo.exe:

openf95  acmlinfo.o  /opt/acml5.3.0/open64_64/lib/libacml.a -lrt -ldl -o acmlinfo.exe

Running program acmlinfo.exe:

(export LD_LIBRARY_PATH='/opt/acml5.3.0/open64_64/lib:'; ./acmlinfo.exe > acmlinfo.res 2>&1)

ACML (AMD Core Math Library) version 5.3.0.67  (Tue Dec 11 04:15:54 CST 2012)

Copyright AMD,NAG 2012

Build system: Linux 3.0.13-0.27-default x86_64 acml-build-lin2

Built using Fortran compiler: openf95 Open64 Compiler Suite: Version 4.5.2

   with flags:  -OPT:vcast_complex=OFF -Wall -fPIC -fno-second-underscore -DUSE_ACMLMALLOCFAST -m64 -DIS_64BIT -march=opteron -msse -msse2 -O2

and C compiler: gcc (GCC) 4.7.1

   with flags: -L/opt/x86_open64-4.5.2/lib/gcc-lib/x86_64-open64-linux/4.5.2 -Wall -W -Wno-unused-parameter -Wstrict-prototypes -Wwrite-strings -D_GNU_SOURCE -D_ISOC99_SOURCE -fPIC -DUSE_ACMLMALLOCFAST -m64 -DIS_64BIT -march=opteron -msse -msse2 -O3

 

 

Compiling program sgetrf_example.f:

openf95 -c -O1 sgetrf_example.f -o sgetrf_example.o

Linking program sgetrf_example.exe:

openf95  sgetrf_example.o  /opt/acml5.3.0/open64_64/lib/libacml.a -lrt -ldl -o sgetrf_example.exe

Running program sgetrf_example.exe:

(export LD_LIBRARY_PATH='/opt/acml5.3.0/open64_64/lib:'; ./sgetrf_example.exe > sgetrf_example.res 2>&1)

/bin/sh: line 1:  8443 Illegal instruction     (core dumped) ./sgetrf_example.exe > sgetrf_example.res 2>&1

make: *** [sgetrf_example.res] Error 132

Outcomes