24 Replies Latest reply on Aug 23, 2014 7:58 AM by ssavec

    ACML 6 example segfaults

    vigo

      Hello,

      Many of the example programs for ACML 6 are compiling fine but then terminating with segfaults. Specifically, the following are not working for me:

      cgels_c_example.exe

      cgesv_c_example.exe

      dgesdd_c_example.exe

      dgetrf_example.exe

      sgels_c_example.exe

      sgesv_c_example.exe

      sgetrf_c_example.exe

      sgetrf_cpp_example.exe

      sgetrf_example.exe

      zgels_c_example.exe


      I've pasted some relevant system information below, and the output of strace and gdb on a few of the failing examples. Let me know if there is any more information I can provide.

      Thanks.



      $ uname -a

      Linux vigo 3.15.1-1-ARCH #1 SMP PREEMPT Tue Jun 17 09:32:20 CEST 2014 x86_64 GNU/Linux

       

      $ gcc -v

      Using built-in specs.

      COLLECT_GCC=gcc

      COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper

      Target: x86_64-unknown-linux-gnu

      Configured with: /build/gcc/src/gcc-4.9-20140604/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-cloog-backend=isl --disable-cloog-version-check --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --disable-multilib --disable-werror --enable-checking=release

      Thread model: posix

      gcc version 4.9.0 20140604 (prerelease) (GCC)

       

      $ util/cpuid.exe

      Chip manufacturer: AuthenticAMD

      AuthenticAMD family 15 extended family 1 model 4

      Model Name: AMD Phenom(tm) II X4 955 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

       

      $ gdb ./dgetrf_example.exe

      Reading symbols from ./dgetrf_example.exe...(no debugging symbols found)...done.

      (gdb) run

      Starting program: /home/vigo/Downloads/acml-gfortran/gfortran64/examples/dgetrf_example.exe

      warning: Could not load shared library symbols for linux-vdso.so.1.

      Do you need "set solib-search-path" or "set sysroot"?

      [Thread debugging using libthread_db enabled]

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

      ACML example: solution of linear equations using DGETRF/DGETRS

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

       

       

      Matrix A:

           1.800E+00    2.880E+00    2.050E+00   -8.900E-01

           5.250E+00   -2.950E+00   -9.500E-01   -3.800E+00

           1.580E+00   -2.690E+00   -2.900E+00   -1.040E+00

          -1.110E+00   -6.600E-01   -5.900E-01    8.000E-01

       

       

      Right-hand-side matrix B:

           9.520E+00    1.847E+01

           2.435E+01    2.250E+00

           7.700E-01   -1.328E+01

          -6.220E+00   -6.210E+00

       

       

       

       

      Program received signal SIGSEGV, Segmentation fault.

      0x0000000000000000 in ?? ()

      (gdb) bt

      #0  0x0000000000000000 in ?? ()

      #1  0x00007ffff5eaa9e5 in dtrsm_ () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #2  0x00007ffff5b2eadf in dgetrs_ () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #3  0x000000000040106e in MAIN__ ()

      #4  0x000000000040129a in main ()

      (gdb)

       

      $ gdb ./sgetrf_example.exe

      Program received signal SIGSEGV, Segmentation fault.

      0x0000000000000000 in ?? ()

      (gdb) bt

      #0  0x0000000000000000 in ?? ()

      #1  0x00007ffff69ec025 in strsm_ () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #2  0x00007ffff66cb74f in sgetrs7z_ () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #3  0x00007ffff66cc3ee in sgetrs_ () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #4  0x00007ffff66cbfb4 in sgetrs () from /home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so

      #5  0x0000000000400b30 in main ()

      (gdb)

       

      $ strace ./dgetrf_example.exe

      execve("./dgetrf_example.exe", ["./dgetrf_example.exe"], [/* 45 vars */]) = 0

      brk(0)                                  = 0x17c4000

      access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/tls/x86_64/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/tls/x86_64", 0x7fff75e40de0) = -1 ENOENT (No such file or directory)

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/tls", 0x7fff75e40de0) = -1 ENOENT (No such file or directory)

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/x86_64/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/x86_64", 0x7fff75e40de0) = -1 ENOENT (No such file or directory)

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/home/vigo/Downloads/acml-gfortran/gfortran64/lib", {st_mode=S_IFDIR|0755, st_size=360, ...}) = 0

      open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3

      fstat(3, {st_mode=S_IFREG|0644, st_size=206845, ...}) = 0

      mmap(NULL, 206845, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f032bd51000

      close(3)                                = 0

      open("/usr/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\"\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=31760, ...}) = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd50000

      mmap(NULL, 2128912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f032b95c000

      mprotect(0x7f032b963000, 2093056, PROT_NONE) = 0

      mmap(0x7f032bb62000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f032bb62000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\16\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=14672, ...}) = 0

      mmap(NULL, 2109712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f032b758000

      mprotect(0x7f032b75b000, 2093056, PROT_NONE) = 0

      mmap(0x7f032b95a000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x7f032b95a000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\271\5\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=1024288, ...}) = 0

      mmap(NULL, 3204960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f032b449000

      mprotect(0x7f032b539000, 2097152, PROT_NONE) = 0

      mmap(0x7f032b739000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf0000) = 0x7f032b739000

      mmap(0x7f032b743000, 83808, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f032b743000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml.so", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200r\n\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=35912646, ...}) = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd4f000

      mmap(NULL, 38151552, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0328fe6000

      mprotect(0x7f032b17e000, 2093056, PROT_NONE) = 0

      mmap(0x7f032b37d000, 126976, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2197000) = 0x7f032b37d000

      mmap(0x7f032b39c000, 705920, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f032b39c000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libgfortran.so.3", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libgfortran.so.3", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\216\1\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=1209400, ...}) = 0

      mmap(NULL, 3305040, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0328cbf000

      mprotect(0x7f0328de4000, 2097152, PROT_NONE) = 0

      mmap(0x7f0328fe4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0x7f0328fe4000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200U\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=1063360, ...}) = 0

      mmap(NULL, 3158360, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f03289bb000

      mprotect(0x7f0328abe000, 2093056, PROT_NONE) = 0

      mmap(0x7f0328cbd000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x102000) = 0x7f0328cbd000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260*\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0644, st_size=90088, ...}) = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd4e000

      mmap(NULL, 2185952, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f03287a5000

      mprotect(0x7f03287bb000, 2093056, PROT_NONE) = 0

      mmap(0x7f03289ba000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x7f03289ba000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libquadmath.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libquadmath.so.0", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320#\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=250840, ...}) = 0

      mmap(NULL, 2346000, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0328568000

      mprotect(0x7f03285a5000, 2093056, PROT_NONE) = 0

      mmap(0x7f03287a4000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3c000) = 0x7f03287a4000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\1\2\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=2047384, ...}) = 0

      mmap(NULL, 3858192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f03281ba000

      mprotect(0x7f032835e000, 2097152, PROT_NONE) = 0

      mmap(0x7f032855e000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1a4000) = 0x7f032855e000

      mmap(0x7f0328564000, 16144, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0328564000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/usr/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000`\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=149301, ...}) = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd4d000

      mmap(NULL, 2217104, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0327f9c000

      mprotect(0x7f0327fb4000, 2097152, PROT_NONE) = 0

      mmap(0x7f03281b4000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0x7f03281b4000

      mmap(0x7f03281b6000, 13456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f03281b6000

      close(3)                                = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd4c000

      mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd4a000

      arch_prctl(ARCH_SET_FS, 0x7f032bd4a740) = 0

      mprotect(0x7f032855e000, 16384, PROT_READ) = 0

      mprotect(0x7f03281b4000, 4096, PROT_READ) = 0

      mprotect(0x7f0328cbd000, 4096, PROT_READ) = 0

      mprotect(0x7f032bb62000, 4096, PROT_READ) = 0

      mprotect(0x7f032b95a000, 4096, PROT_READ) = 0

      mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f032bd49000

      mprotect(0x7f032b739000, 32768, PROT_READ) = 0

      mprotect(0x7f0328fe6000, 35225600, PROT_READ|PROT_WRITE) = 0

      mprotect(0x7f0328fe6000, 35225600, PROT_READ|PROT_EXEC) = 0

      mprotect(0x7f032b37d000, 4096, PROT_READ) = 0

      mprotect(0x7f032bd84000, 4096, PROT_READ) = 0

      munmap(0x7f032bd51000, 206845)          = 0

      set_tid_address(0x7f032bd4aa10)         = 25633

      set_robust_list(0x7f032bd4aa20, 24)     = 0

      rt_sigaction(SIGRTMIN, {0x7f0327fa1b10, [], SA_RESTORER|SA_SIGINFO, 0x7f0327fab4b0}, NULL, 8) = 0

      rt_sigaction(SIGRT_1, {0x7f0327fa1ba0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f0327fab4b0}, NULL, 8) = 0

      rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0

      getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0

      brk(0)                                  = 0x17c4000

      brk(0x17e5000)                          = 0x17e5000

      fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0

      fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0

      fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0

      futex(0x7f032b755bcc, FUTEX_WAKE_PRIVATE, 2147483647) = 0

      futex(0x7f032b755bd8, FUTEX_WAKE_PRIVATE, 2147483647) = 0

      readlink("/proc/self/exe", "/home/vigo/Downloads/acml-gfor"..., 4095) = 81

      rt_sigaction(SIGQUIT, {0x7f0328cd8ad0, [QUIT], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGILL, {0x7f0328cd8ad0, [ILL], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGABRT, {0x7f0328cd8ad0, [ABRT], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGFPE, {0x7f0328cd8ad0, [FPE], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGSEGV, {0x7f0328cd8ad0, [SEGV], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGBUS, {0x7f0328cd8ad0, [BUS], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGSYS, {0x7f0328cd8ad0, [SYS], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGTRAP, {0x7f0328cd8ad0, [TRAP], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGXCPU, {0x7f0328cd8ad0, [XCPU], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      rt_sigaction(SIGXFSZ, {0x7f0328cd8ad0, [XFSZ], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {SIG_DFL, [], 0}, 8) = 0

      access("/usr/local/sbin/addr2line", R_OK|X_OK) = -1 ENOENT (No such file or directory)

      access("/usr/local/bin/addr2line", R_OK|X_OK) = -1 ENOENT (No such file or directory)

      access("/usr/bin/addr2line", R_OK|X_OK) = 0

      write(1, "ACML example: solution of linear"..., 63ACML example: solution of linear equations using DGETRF/DGETRS

      ) = 63

      write(1, "--------------------------------"..., 63--------------------------------------------------------------

      ) = 63

      write(1, "\n", 1

      )                       = 1

      write(1, "Matrix A:\n", 10Matrix A:

      )             = 10

      write(1, "     1.800E+00    2.880E+00    2"..., 54     1.800E+00    2.880E+00    2.050E+00   -8.900E-01

      ) = 54

      write(1, "     5.250E+00   -2.950E+00   -9"..., 54     5.250E+00   -2.950E+00   -9.500E-01   -3.800E+00

      ) = 54

      write(1, "     1.580E+00   -2.690E+00   -2"..., 54     1.580E+00   -2.690E+00   -2.900E+00   -1.040E+00

      ) = 54

      write(1, "    -1.110E+00   -6.600E-01   -5"..., 54    -1.110E+00   -6.600E-01   -5.900E-01    8.000E-01

      ) = 54

      write(1, "\n", 1

      )                       = 1

      write(1, "Right-hand-side matrix B:\n", 26Right-hand-side matrix B:

      ) = 26

      write(1, "     9.520E+00    1.847E+01\n", 28     9.520E+00    1.847E+01

      ) = 28

      write(1, "     2.435E+01    2.250E+00\n", 28     2.435E+01    2.250E+00

      ) = 28

      write(1, "     7.700E-01   -1.328E+01\n", 28     7.700E-01   -1.328E+01

      ) = 28

      write(1, "    -6.220E+00   -6.210E+00\n", 28    -6.220E+00   -6.210E+00

      ) = 28

      write(1, "\n", 1

      )                       = 1

      futex(0x7f032b95b0c8, FUTEX_WAKE_PRIVATE, 2147483647) = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib64/tls/x86_64/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib64/tls/x86_64", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib64/tls/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib64/tls", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib64/x86_64/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib64/x86_64", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib64/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib64", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/tls/x86_64/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/tls/x86_64", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/tls/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/tls", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/x86_64/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/x86_64", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1/libOpenCL.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)

      stat("/opt/gcc471/lib/gcc/x86_64-unknown-linux-gnu/4.7.1", 0x7fff75e402f0) = -1 ENOENT (No such file or directory)

      open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3

      fstat(3, {st_mode=S_IFREG|0644, st_size=206845, ...}) = 0

      mmap(NULL, 206845, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f032bd51000

      close(3)                                = 0

      open("/usr/lib/libOpenCL.so", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\33\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=21296, ...}) = 0

      mmap(NULL, 2116768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0327d97000

      mprotect(0x7f0327d9b000, 2097152, PROT_NONE) = 0

      mmap(0x7f0327f9b000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0x7f0327f9b000

      mprotect(0x7f032bd84000, 3540, PROT_READ|PROT_WRITE) = 0

      mprotect(0x7f032bd84000, 3540, PROT_READ) = 0

      mprotect(0x7fff75e41000, 4096, PROT_READ|PROT_WRITE|PROT_EXEC|PROT_GROWSDOWN) = 0

      close(3)                                = 0

      munmap(0x7f032bd51000, 206845)          = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml_bridge.so", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360\256\5\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=1788074, ...}) = 0

      mmap(NULL, 3610864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0327a25000

      mprotect(0x7f0327b8d000, 2097152, PROT_NONE) = 0

      mmap(0x7f0327d8d000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x168000) = 0x7f0327d8d000

      mmap(0x7f0327d95000, 6384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f0327d95000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libacml_script.so.1", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\177\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=290838, ...}) = 0

      mmap(NULL, 2348768, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f03277e7000

      mprotect(0x7f0327823000, 2093056, PROT_NONE) = 0

      mmap(0x7f0327a22000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3b000) = 0x7f0327a22000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libclBLAS.so.2", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\360'\1\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=942759, ...}) = 0

      mmap(NULL, 2998920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f032750a000

      mprotect(0x7f03275df000, 2093056, PROT_NONE) = 0

      mmap(0x7f03277de000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xd4000) = 0x7f03277de000

      mmap(0x7f03277e2000, 17032, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f03277e2000

      close(3)                                = 0

      open("/home/vigo/Downloads/acml-gfortran/gfortran64/lib/libclFFT.so.2", O_RDONLY|O_CLOEXEC) = 3

      read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\314\0\0\0\0\0\0"..., 832) = 832

      fstat(3, {st_mode=S_IFREG|0755, st_size=663329, ...}) = 0

      mmap(NULL, 2718944, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f0327272000

      mprotect(0x7f0327309000, 2093056, PROT_NONE) = 0

      mmap(0x7f0327508000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x96000) = 0x7f0327508000

      close(3)                                = 0

      mprotect(0x7f0327508000, 4096, PROT_READ) = 0

      mprotect(0x7f03277de000, 4096, PROT_READ) = 0

      mprotect(0x7f0327a22000, 8192, PROT_READ) = 0

      --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---

      write(2, "\nProgram received signal SIGSEGV"..., 81

      Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

      ) = 81

      write(2, "\nBacktrace for this error:\n", 27

      Backtrace for this error:

      ) = 27

      pipe([3, 4])                            = 0

      pipe([5, 6])                            = 0

      clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f032bd4aa10) = 25634

      close(4)                                = 0

      close(5)                                = 0

      futex(0x7f03289ba850, FUTEX_WAKE_PRIVATE, 2147483647) = 0

      write(6, "7F0328CD84F7", 12)            = 12

      write(6, "\n", 1)                       = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, "\n", 1)                        = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, ":", 1)                         = 1

      read(3, "0", 1)                         = 1

      read(3, "\n", 1)                        = 1

      write(2, "#0  ", 4#0  )                     = 4

      write(2, "0x", 20x)                       = 2

      write(2, "7F0328CD84F7", 127F0328CD84F7)            = 12

      write(2, "\n", 1

      )                       = 1

      write(6, "7F0328CD8B3E", 12)            = 12

      write(6, "\n", 1)                       = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, "\n", 1)                        = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, ":", 1)                         = 1

      read(3, "0", 1)                         = 1

      read(3, "\n", 1)                        = 1

      write(2, "#1  ", 4#1  )                     = 4

      write(2, "0x", 20x)                       = 2

      write(2, "7F0328CD8B3E", 127F0328CD8B3E)            = 12

      write(2, "\n", 1

      )                       = 1

      write(6, "7F03281EDDEF", 12)            = 12

      write(6, "\n", 1)                       = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, "\n", 1)                        = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, ":", 1)                         = 1

      read(3, "0", 1)                         = 1

      read(3, "\n", 1)                        = 1

      write(2, "#2  ", 4#2  )                     = 4

      write(2, "0x", 20x)                       = 2

      write(2, "7F03281EDDEF", 127F03281EDDEF)            = 12

      write(2, "\n", 1

      )                       = 1

      write(6, "0", 1)                        = 1

      write(6, "\n", 1)                       = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, "\n", 1)                        = 1

      read(3, "?", 1)                         = 1

      read(3, "?", 1)                         = 1

      read(3, ":", 1)                         = 1

      read(3, "0", 1)                         = 1

      read(3, "\n", 1)                        = 1

      write(2, "#3  ", 4#3  )                     = 4

      write(2, "0x", 20x)                       = 2

      write(2, "0", 10)                        = 1

      write(2, "\n", 1

      )                       = 1

      close(6)                                = 0

      close(3)                                = 0

      wait4(-1, NULL, 0, NULL)                = 25634

      --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25634, si_status=0, si_utime=0, si_stime=0} ---

      rt_sigaction(SIGSEGV, {SIG_DFL, [SEGV], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, {0x7f0328cd8ad0, [SEGV], SA_RESTORER|SA_RESTART, 0x7f03281eddf0}, 8) = 0

      tgkill(25633, 25633, SIGSEGV)           = 0

      rt_sigreturn()                          = 0

      --- SIGSEGV {si_signo=SIGSEGV, si_code=SI_TKILL, si_pid=25633, si_uid=1000} ---

      +++ killed by SIGSEGV +++

        • Re: ACML 6 example segfaults
          timmy.liu

          Hi,

          Does the test pass when you do "make" in the directory? Did you export LD_LIBRARY_PATH=${DIR_OF_ACML}?

           

          Thanks,

          Timmy

            • Re: ACML 6 example segfaults
              vigo

              Hi Timmy,

               

              Make builds fine but crashes when it tries to test the result. If I run make multiple times it will get a little further each time, since it compiles the next unbuilt example and then crashes when it executes it. I have been setting LD_LIBRARY_PATH, but it doesn't seem to make a difference either way. As far as I can tell it is finding the library and linking fine. Below is the output of running make the first time. Running make a second time similarly crashes when it tries to run dgetrf_example.exe, and so on.


              $ make

              Compiling program acmlinfo.f:

              gfortran -c  acmlinfo.f -o acmlinfo.o

              Linking program acmlinfo.exe:

              gfortran  acmlinfo.o  -L ../lib -lrt -ldl -lstdc++ -lacml -o acmlinfo.exe

              Running program acmlinfo.exe:

              (export LD_LIBRARY_PATH='../lib:/home/vigo/Downloads/acml-gfortran/gfortran64'; ./acmlinfo.exe > acmlinfo.res 2>&1)

              ACML (AMD Core Math Library) version 6.0.4.154  (Wed Jun 18 16:15:07 CDT 2014)

              Copyright AMD,NAG 2014

              Build system: Linux 3.0.76-0.11-default x86_64 acml-build-lin2

              Built using Fortran compiler: GNU Fortran (GCC) 4.7.1

                 with flags:  -ffixed-line-length-132 -Wall -W -Wno-unused -Wno-unused-dummy-argument -Wno-conversion -Wno-uninitialized -fPIC -fno-second-underscore -fimplicit-none -DUSE_ACMLMALLOCFAST -m64 -DIS_64BIT -msse2 -O3

              and C compiler: gcc (GCC) 4.7.1

                 with flags:  -W -Wno-unused-parameter -Wstrict-prototypes -Wwrite-strings -D_GNU_SOURCE -D_ISOC99_SOURCE -fPIC  -DUSE_ACMLMALLOCFAST -m64 -DIS_64BIT -mstackrealign -msse2 -O3

               

               

              Compiling program sgetrf_example.f:

              gfortran -c  sgetrf_example.f -o sgetrf_example.o

              Linking program sgetrf_example.exe:

              gfortran  sgetrf_example.o  -L ../lib -lrt -ldl -lstdc++ -lacml -o sgetrf_example.exe

              Running program sgetrf_example.exe:

              (export LD_LIBRARY_PATH='../lib:/home/vigo/Downloads/acml-gfortran/gfortran64/lib'; ./sgetrf_example.exe > sgetrf_example.res 2>&1)

              /bin/sh: line 1: 28855 Segmentation fault      ./sgetrf_example.exe > sgetrf_example.res 2>&1

              GNUmakefile:66: recipe for target 'sgetrf_example.res' failed

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

                • Re: ACML 6 example segfaults
                  vigo

                  Hi Timmy,

                   

                  Just to follow-up on the library location idea. I tried moving the library to see what the run-time and compile-time errors look like for missing library. The errors are very different from the ones I am seeing. Also, the fact that acmlinfo.exe and others are working for me suggests this isn't a library path issue.

                   

                  Compile-time error:

                  Compiling program acmlinfo.f:

                  gfortran -c  acmlinfo.f -o acmlinfo.o

                  Linking program acmlinfo.exe:

                  gfortran  acmlinfo.o  -L /tmp/lib -lrt -ldl -lstdc++ -lacml -o acmlinfo.exe

                  /usr/bin/ld: cannot find -lacml

                  collect2: error: ld returned 1 exit status

                  GNUmakefile:66: recipe for target 'acmlinfo.res' failed

                  make: *** [acmlinfo.res] Error 1

                   

                  Run-time error:

                  ./acmlinfo.exe: error while loading shared libraries: libacml.so: cannot open shared object file: No such file or directory

                   

                  Thanks

                    • Re: ACML 6 example segfaults
                      timmy.liu

                      Hi Vigo,

                       

                      Thanks! What you have reported is something we have not seen internally. Although you have a newer version of gcc and Linux kernel than I do (I have 4.8.1 and 3.11), I am going to file a internal bug for this. Just a few information to clarify so hopefully we can reproduce it internally:

                      1, I noticed you don't have OpenCL, can you verify you didn't install OpenCL runtime and do not have any gpu device?

                      2, Do you see segfault on which flavor of acml (mp or non_mp or both)?

                      3, Do you see segfault with ACML 5.3.1?

                       

                      Regards,

                      Timmy

                        • Re: ACML 6 example segfaults
                          vigo

                          Hi Timmy,

                           

                          Thanks for opening the ticket.

                           

                          1. Actually I do have OpenCL (1.1) installed. It looks like it eventually gets found in the strace at: /usr/lib/libOpenCL.so My GPU is an NVIDIA GeForce GTX 560 Ti. Using the proprietary NVIDIA driver (337.25).

                          2. Segfaults occur for both mp and non_mp

                          3. ACML 5.3.1 works flawlessly for both mp and non_mp

                  • Re: ACML 6 example segfaults
                    jammyamerica

                    Thankx for information

                    • Re: ACML 6 example segfaults
                      vigo

                      Update: I was able to get the examples to run when I uninstalled OpenCL (libcl). Without OpenCL installed, all examples compile and execute fine with accurate results. When I reinstalled opencl, the binaries produce segfaults again.

                       

                      Hope this helps!

                      1 of 1 people found this helpful
                        • Re: ACML 6 example segfaults
                          vigo

                          I just wanted to point out or reiterate that this is not a solution to the problem. As soon as OpenCL is installed again, the examples start failing again. I have no idea of the structure of the ACML code but it seems like a runtime option to disable OpenCL, or some OpenCL exception handling could help resolve the issue. It also seems like it could be related to the NVIDIA driver, in which case it might be possible to disable OpenCL only on NVIDIA systems.

                        • Re: ACML 6 example segfaults
                          kknox

                          Hi Vigo~

                           

                          I think that we have this problem fixed in internal builds of ACML.  You can test the fix would work for you by modifying two ACMLScript files:

                          /lib/resources/<device>/gemm.lua & /lib/resources/<device>/trsm.lua

                           

                          Change line 85 from

                          local memalloc_choice = 1 to

                          local memalloc_choice = 3

                            • Re: ACML 6 example segfaults
                              vigo

                              Thanks. I have just tried these changes but it is still producing the same segfault. I also tried looking at the strace before and after applying the changes and I can't find any real differences other than the memory locations. Let me know if there is anything I can do to help debug.

                                • Re: ACML 6 example segfaults
                                  kknox

                                  HI Vigo~

                                   

                                  Since you are using an Nvidia device, did you create your own device directory underneath /lib/resources?  What did you call it?  From your strace, I can see that it crashes right after we load the opencl BLAS/FFT libraries.  I see that you are using the gcc 4.9 compiler, which we have not tested with yet. 

                                   

                                  I suppose most common distros don't have 4.9 yet; I will try to compile a 4.9 compiler on my end.  Do you have an 4.8 or 4.7 compiler available to test with?

                                    • Re: ACML 6 example segfaults
                                      vigo

                                      Sorry, I didn't realize that I was supposed to create an additional device directory. How should I determine what to name it?

                                       

                                      I can get gcc 4.8, but my distro is rolling-release so I will have to compile from source as well.

                                • Re: ACML 6 example segfaults
                                  fedebr89

                                  Hello,

                                  I have the same problems reported by vigo. I have opencl installed and nvidia graphics card (gtx 850m)

                                  I find a "solution" for the examples. I just renamed the sub-directory "resource" inside the "lib" dir.

                                  See the documentation: acml6.0.4-install/Doc/html/ACMLScript.html#ACMLScript

                                  In this way even with opencl installed the examples work

                                  I hope this can help.

                                  • Re: ACML 6 example segfaults
                                    ssavec

                                    Hello all and especially AMD support,

                                    I am experiencing the same behaviour as vigo on two different machines, acml 6.0.4.155, both have nvidia devices.

                                    The failure is due to the fact, that ACML is looking for OpenCL 1.2, which is not available from nvidia.

                                     

                                    The result for the failure was found after setting:

                                    LD_DEBUG=all LD_DEBUG_OUTPUT=ld.debug

                                     

                                         22122:     symbol=clRetainDevice;  lookup in file=./sgetrf_example.exe [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/librt.so.1 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libdl.so.2 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libstdc++.so.6 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/home/martin/sw/compile/acml-gfortran/src/gfortran64/lib/libacml.so [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libgfortran.so.3 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libm.so.6 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libgcc_s.so.1 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libquadmath.so.0 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libc.so.6 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libpthread.so.0 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/home/martin/sw/compile/acml-gfortran/src/gfortran64/lib/libacml_bridge.so [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/home/martin/sw/compile/acml-gfortran/src/gfortran64/lib/libacml_script.so.1 [0]
                                         22122:     symbol=clRetainDevice;  lookup in file=/usr/lib/libOpenCL.so [0]
                                         22122:     /home/martin/sw/compile/acml-gfortran/src/gfortran64/lib/libacml_bridge.so: error: relocation error: symbol clRetainDevice, version OPENCL_1.2 not defined in file libOpenCL.so.1 with link time reference (fatal)

                                    1 of 1 people found this helpful
                                      • Re: ACML 6 example segfaults
                                        kknox

                                        Hi ssavec~

                                         

                                        This is very helpful, thank you.  I received a gpu card that I can test on today, and now have a machine set up that I believe is reproducing this problem.  I'll continue to investigate.

                                         

                                        Kent

                                        • Re: ACML 6 example segfaults
                                          vigo

                                          Good work. I had no idea about the LD_DEBUG environment variables. It seems like this must be the root of the issue. Since ACML is working when OpenCL is not installed at all, it seems like one potential workaround could just be to have ACML treat OpenCL versions <1.2 the same as no OpenCL.

                                          • Re: ACML 6 example segfaults
                                            kknox

                                            Hi vigo & ssavec

                                            I have this fixed in internal builds; the problem was indeed that the installed cl runtime did not support v1.2, and we did not handle that case gracefully (at all).

                                             

                                            The easiest solution was to implement logic to fall back to CPU processing if an insufficient cl runtime is detected.  This does imply that heterogeneous computing is disabled on runtimes < v1.2, but it does recover gracefully.  We are considering releasing a bugfix release for v6.0.4, but I don't have a date I can commit too.

                                             

                                            Kent

                                          • Re: ACML 6 example segfaults
                                            kknox

                                            Hi vigo & ssavec

                                             

                                            A point release of ACML posted today (v6.0.5), that I believe will fall back to CPU support for non-OpenCL v1.2 runtimes.  ACML 6.0.5 is released

                                            Please let me know if you have further problems.

                                             

                                            Kent