AnsweredAssumed Answered

segfault on intel ivy bridge

Question asked by ewtoombs on Mar 30, 2015

compiler command:

gcc -m64 -mavx -Llib -Iinclude examples/sgels_c_example.c -o sgels -lacml_mp -lgfortran -lrt

 

gdb session:

$ LD_LIBRARY_PATH=lib gdb sgels

GNU gdb (GDB) 7.9

Copyright (C) 2015 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.  Type "show copying"

and "show warranty" for details.

This GDB was configured as "x86_64-unknown-linux-gnu".

Type "show configuration" for configuration details.

For bug reporting instructions, please see:

<http://www.gnu.org/software/gdb/bugs/>.

Find the GDB manual and other documentation resources online at:

<http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".

Type "apropos word" to search for commands related to "word"...

Reading symbols from sgels...(no debugging symbols found)...done.

(gdb) r

Starting program: /home/eric/pkg/acml-gfortran/src/gfortran64_mp/sgels

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/usr/lib/libthread_db.so.1".

ACML example: least-squares solution of overdetermined system of

              linear equations using sgels

----------------------------------------------------------------

 

Matrix A:

-0.5700  -1.2800  -0.3900   0.2500

-1.9300   1.0800  -0.3100  -2.1400

  2.3000   0.2400   0.4000  -0.3500

-1.9300   0.6400  -0.6600   0.0800

  0.1500   0.3000   0.1500  -2.1300

-0.0200   1.0300  -1.4300   0.5000

 

Right-hand-side matrix B:

-3.1500   2.1900

-0.1100  -3.6400

  1.9900   0.5700

-2.7000   8.2300

[New Thread 0x7ffff1f96700 (LWP 15357)]

[New Thread 0x7ffff2797700 (LWP 15356)]

[New Thread 0x7ffff2f98700 (LWP 15355)]

 

Program received signal SIGSEGV, Segmentation fault.

0x0000000000000000 in ?? ()

(gdb) bt

#0  0x0000000000000000 in ?? ()

#1  0x00007ffff5a72260 in sgemvthreshapu_dynamic_ () from lib/libacml_mp.so

#2  0x00007ffff66ee959 in sgemv_ () from lib/libacml_mp.so

#3  0x00007ffff6790bd6 in slarf_ () from lib/libacml_mp.so

#4  0x00007ffff66f2487 in sgeqr2_ () from lib/libacml_mp.so

#5  0x00007ffff66f485d in sgeqrf8k_ () from lib/libacml_mp.so

#6  0x00007ffff66f414b in sgeqrf8j_ () from lib/libacml_mp.so

#7  0x00007ffff66f33f3 in sgeqrf8g_._omp_fn () from lib/libacml_mp.so

#8  0x00007ffff66f36e5 in sgeqrf8g_ () from lib/libacml_mp.so

#9  0x00007ffff66f75de in sgeqrf_ () from lib/libacml_mp.so

#10 0x00007ffff66d36da in sgels_ () from lib/libacml_mp.so

#11 0x00007ffff66d1267 in sgels () from lib/libacml_mp.so

#12 0x0000000000400ba1 in main ()

(gdb) info threads

  Id   Target Id         Frame

  4    Thread 0x7ffff2f98700 (LWP 15355) "sgels" futex_wait (val=0,

    addr=0x608c24)

    at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

  3    Thread 0x7ffff2797700 (LWP 15356) "sgels" futex_wait (val=0,

    addr=0x608c24)

    at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

  2    Thread 0x7ffff1f96700 (LWP 15357) "sgels" futex_wait (val=0,

    addr=0x608c24)

    at /build/gcc-multilib/src/gcc-4.9-20150304/libgomp/config/linux/x86/futex.h:44

* 1    Thread 0x7ffff7fc67c0 (LWP 15351) "sgels" 0x0000000000000000 in ?? ()

(gdb)

 

Looks like it died somewhere in an internal function call "sgemvthreshapu_dynamic_". Any idea what might have gone wrong? The hardware (cpu and gpu) is an intel ivy bridge (Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz, four cores). Here is the /proc/cpuinfo:

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 58
model name  : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
stepping    : 9
microcode   : 0x16
cpu MHz     : 3192.718
cache size  : 6144 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 4
apicid      : 0

initial apicid  : 0

fpu         : yes

fpu_exception   : yes

cpuid level : 13
wp          : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca

cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx

rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology

nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx

est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt

tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm arat epb pln pts dtherm

tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt

bugs        :
bogomips    : 6387.49
clflush size: 64

cache_alignment : 64

address sizes   : 36 bits physical, 48 bits virtual

power management:

Outcomes