testing_dgeqrf_gpu hangs

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
fossil
Posts: 14
Joined: Sat Nov 14, 2015 6:07 pm

testing_dgeqrf_gpu hangs

Post by fossil » Mon Jan 11, 2016 6:03 am

Dear friends,

I've started the testing program.
It produced the following output and hang.

Code: Select all

victor@fossil-dt5:~/sandbox/clmagma-1.3.0/testing$ ./testing_dgeqrf_gpu -l --version 1 -c2 -N 100,200
% clMAGMA 1.3.0 
% OpenCL platform . MAGMA not compiled with OpenMP.
% Device: Cayman, 1803.0 MiB memory, max allocation 512.0 MiB, driver  1800.8 (VM)
% Device: Cayman, 1801.0 MiB memory, max allocation 512.0 MiB, driver  1800.8 (VM)
Usage: ./testing_dgeqrf_gpu [options] [-h|--help]

version 1
    M     N   CPU GFlop/s (sec)   GPU GFlop/s (sec)   ||Ax-b||_F/(N*||A||_F*||x||_F)
====================================================================================
=====0
=====1
=====2
==========0
==========1
==========3
==========4
==========6
==========6.1
It executes the lapackf77_dgeqrf and hangs.

Code: Select all


printf("==========6\n");
            magma_event_sync(event[1]);
printf("==========6.1\n");
            lapackf77_dgeqrf(&rows, &ib, work_ref(i), &ldwork, tau+i, hwork, &lhwork, info);
            /* Form the triangular factor of the block reflector
               H = H(i) H(i+1) . . . H(i+ib-1) */
printf("==========6.2\n");
            lapackf77_dlarft( MagmaForwardStr, MagmaColumnwiseStr,
                              &rows, &ib,
                              work_ref(i), &ldwork, tau+i, hwork, &ib);
below you can see the gdb session:

Code: Select all

victor@fossil-dt5:~/sandbox/clmagma-1.3.0/testing$ gdb testing_dgeqrf_gpu
GNU gdb (Ubuntu 7.10-1ubuntu2) 7.10
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-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 testing_dgeqrf_gpu...done.
(gdb) b 110
Breakpoint 1 at 0x40424b: file testing_dgeqrf_gpu.cpp, line 110.
(gdb) run --version 1 -c2 -N 100,200
Starting program: /home/victor/sandbox/clmagma-1.3.0/testing/testing_dgeqrf_gpu --version 1 -c2 -N 100,200
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
% clMAGMA 1.3.0 
% OpenCL platform . MAGMA not compiled with OpenMP.
% Device: Cayman, 1803.0 MiB memory, max allocation 512.0 MiB, driver  1800.8 (VM)
% Device: Cayman, 1801.0 MiB memory, max allocation 512.0 MiB, driver  1800.8 (VM)
Usage: /home/victor/sandbox/clmagma-1.3.0/testing/testing_dgeqrf_gpu [options] [-h|--help]

[New Thread 0x7fffeb2c8700 (LWP 26869)]
[New Thread 0x7fffeb137700 (LWP 26870)]
version 1
    M     N   CPU GFlop/s (sec)   GPU GFlop/s (sec)   ||Ax-b||_F/(N*||A||_F*||x||_F)
====================================================================================
=====0
[New Thread 0x7fffeb0c6700 (LWP 26871)]
[New Thread 0x7fffea8c5700 (LWP 26872)]
[New Thread 0x7fffea0c4700 (LWP 26873)]
=====1
=====2

Breakpoint 1, main (argc=6, argv=0x7fffffffe268) at testing_dgeqrf_gpu.cpp:110
110	                    magma_dgeqrf_gpu( M, N, d_A, 0, ldda, tau, dT, 0, opts.queue, &info );
(gdb) step
magma_dgeqrf_gpu (m=100, n=200, dA=0x14e6cc0, dA_offset=0, ldda=128, tau=0x14bb080, dT=0x14bb3c0, dT_offset=0, queue=0x13b1790, info=0x7fffffffb070) at dgeqrf_gpu.cpp:48
48	{
(gdb) b 201
Breakpoint 2 at 0x40941c: file dgeqrf_gpu.cpp, line 201.
(gdb) n
133	printf("==========0\n");
(gdb) n
==========0
135	    *info = 0;
(gdb) n
136	    if (m < 0) {
(gdb) bt
#0  magma_dgeqrf_gpu (m=100, n=200, dA=0x14e6cc0, dA_offset=0, ldda=128, tau=0x14bb080, dT=0x14bb3c0, dT_offset=0, queue=0x13b1790, info=0x7fffffffb070) at dgeqrf_gpu.cpp:136
#1  0x0000000000404293 in main (argc=6, argv=0x7fffffffe268) at testing_dgeqrf_gpu.cpp:110
(gdb) r
The program being debugged has been started already.
Start it from the beginning? (y or n) n
Program not restarted.
(gdb) c
Continuing.
==========1
==========3
==========4
==========6
==========6.1

Breakpoint 2, magma_dgeqrf_gpu (m=100, n=200, dA=0x14e6cc0, dA_offset=0, ldda=128, tau=0x14bb080, dT=0x14bb3c0, dT_offset=0, queue=0x13b1790, info=0x7fffffffb070)
    at dgeqrf_gpu.cpp:201
201	            lapackf77_dgeqrf(&rows, &ib, work_ref(i), &ldwork, tau+i, hwork, &lhwork, info);
(gdb) s
[New Thread 0x7fffe9732700 (LWP 26886)]
info threads
thread 2
Program received signal SIGINT, Interrupt.
syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
38	../sysdeps/unix/sysv/linux/x86_64/syscall.S: Нет такого файла или каталога.
(gdb) info threads
  Id   Target Id         Frame 
  7    Thread 0x7fffe9732700 (LWP 26886) "testing_dgeqrf_" 0x00007ffff3d050c9 in futex_abstimed_wait (cancel=true, private=<optimized out>, abstime=0x0, expected=0, 
    futex=0x1639708) at sem_waitcommon.c:42
  6    Thread 0x7fffea0c4700 (LWP 26873) "testing_dgeqrf_" 0x00007ffff3f25d82 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
  5    Thread 0x7fffea8c5700 (LWP 26872) "testing_dgeqrf_" 0x00007ffff3f25d82 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
  4    Thread 0x7fffeb0c6700 (LWP 26871) "testing_dgeqrf_" 0x00007ffff3f25d82 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
  3    Thread 0x7fffeb137700 (LWP 26870) "testing_dgeqrf_" 0x00007ffff3d050c9 in futex_abstimed_wait (cancel=true, private=<optimized out>, abstime=0x0, expected=0, 
    futex=0x14e6b28) at sem_waitcommon.c:42
  2    Thread 0x7fffeb2c8700 (LWP 26869) "testing_dgeqrf_" 0x00007ffff3d050c9 in futex_abstimed_wait (cancel=true, private=<optimized out>, abstime=0x0, expected=0, 
    futex=0x13b1968) at sem_waitcommon.c:42
* 1    Thread 0x7ffff7fcb7c0 (LWP 26865) "testing_dgeqrf_" syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
(gdb)
does anybody has the idea what might go wrong and how to proceed with that?

Thanks

[Phenom II x4 965 - 2x Radeon HD 6990 - Ubuntu 15.10 - atlas 3.10.2-7(cblas, lapack) - AMDAPPSDK-3.0 - acml-6.1.0.31-gfortran64 MP]

Post Reply