Install MAGMA on ubuntu 11.10 32bit with MKL

Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)
Post Reply
cz0397
Posts: 15
Joined: Tue Feb 26, 2013 10:22 pm

Install MAGMA on ubuntu 11.10 32bit with MKL

Post by cz0397 » Tue Mar 19, 2013 8:30 am

Hello! I want to install MAGMA on ubuntu 11.10 32bit with MKL.
I have installed MKL10.03 update11 as well as lapack. Then I start to install MAGMA.
After typing make, I go to directory 'testing'. I successfully make them all, but when I run the executable file, I meet with problem.

Code: Select all

./testing_cgeadd
MAGMA 1.3.0
device 0: GeForce 405, 1402.0 MHz clock, 511.6 MB memory, capability 1.2

Usage: ./testing_cgeadd -N <m,n> -c -c2 -l
  -N  can be repeated up to 10 times. If only m is given, then m=n.

!!!! magma_malloc failed for: d_A
Then I run other file, and meet with another problem.

Code: Select all

./testing_dsytrd
MAGMA 1.3.0
device 0: GeForce 405, 1402.0 MHz clock, 511.6 MB memory, capability 1.2

Usage: ./testing_dsytrd -N <matrix size> -R <right hand sides> [-L|-U] -c
  -N can be repeated up to 10 times
  -c or setting $MAGMA_TESTINGS_CHECK checks result.

  N     CPU GFlop/s (sec)   GPU GFlop/s (sec)   |A-QHQ'|/N|A|   |I-QQ'|/N
===========================================================================
 1024     22.42 (   0.06)      4.99 (   0.29)     ---  
 2048     14.31 (   0.80)     77.19 (   0.15)     ---  
 3072     13.33 (   2.90)    162.76 (   0.24)     ---  
 4032     12.34 (   7.09)    201.47 (   0.43)     ---  
 5184     11.97 (  15.53)    354.46 (   0.52)     ---  
 6016     11.98 (  24.25)    439.82 (   0.66)     ---  
magma_dsytrd returned error -113
 7040     11.60 (  40.12)   2195780.43 (   0.00)     ---  
magma_dsytrd returned error -113
I do not know where the problem is. Thank you for your answering!

mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

Re: Install MAGMA on ubuntu 11.10 32bit with MKL

Post by mgates3 » Tue Mar 19, 2013 11:21 am

Out-of-memory error. Your card has only 512 MB of memory, so the largest single-complex matrix it can fit is about n=8000. Most of the testers currently allocate the maximum amount of memory they will need, so die if the largest test problem doesn't fit, as is the case for your testing_cgeadd. For your testincg_dsytrd, it appears it could allocate the initial matrix, but failed to allocate necessary workspace as the problem size grew.

Also, your card is CUDA capability 1.2, so it cannot do double precision. The results from dsytrd will be wrong.

You can explicitly set the size, usually using -N n or -M m -N n. Some testers allow multiple -N values. E.g.,

./testing_cgeadd -N 100 -N 200 -N 1000

Note: the testers are being revised to allocate memory differently and have more flexible, consistent arguments.

-mark

cz0397
Posts: 15
Joined: Tue Feb 26, 2013 10:22 pm

Re: Install MAGMA on ubuntu 11.10 32bit with MKL

Post by cz0397 » Wed Mar 20, 2013 8:05 am

Thanks, now when I type

Code: Select all

./testing_cgeadd -N 100 -N 200 -N 1000
I happily see the result.

Code: Select all

./testing_cgeadd -N 100 -N 200 -N 1000
MAGMA 1.3.0
device 0: GeForce 405, 1402.0 MHz clock, 511.6 MB memory, capability 1.2

Usage: ./testing_cgeadd -N <m,n> -c -c2 -l
  -N  can be repeated up to 10 times. If only m is given, then m=n.

    M     N   CPU GFlop/s (sec)   GPU GFlop/s (sec)   |Bl-Bm|/|Bl|
=========================================================================
  100   100      0.00 (   0.05)      0.41 (   0.00)   5.26e-08
  200   200      1.45 (   0.00)      8.00 (   0.00)   5.23e-08
 1000  1000      0.89 (   0.00)    125.92 (   0.00)   5.21e-08
But when I try to run another example, I meet with such problem too. You have told me that the amount of memory is beyond the endurance of my computer. Is this problem caused by that? Also I want to know where I can learn such method like -N.

Code: Select all

./testing_sgemv -N 100
MAGMA 1.3.0
device 0: GeForce 405, 1402.0 MHz clock, 511.6 MB memory, capability 1.2
!!!! magma_malloc failed for: dA
In addition, I attampt to run testing_cblas. Level one is ok, however, problem still comes in Level two.

Code: Select all

========== Level 2 BLAS ==========

testing cgemv
cgemv( N ) diff 0
cgemv( C ) diff 0
cgemv( T ) diff 0

testing chemv
chemv( L ) diff 0
chemv( U ) diff 0

testing ctrsv

Thanks for your another help!

cz0397
Posts: 15
Joined: Tue Feb 26, 2013 10:22 pm

Re: Install MAGMA on ubuntu 11.10 32bit with MKL

Post by cz0397 » Wed Mar 20, 2013 9:33 am

Oh, I get. I just try to revise the cpp code in testing_sgemv, using

Code: Select all

magma_int_t iend   = 5000;
instead of

Code: Select all

magma_int_t iend   = 10240;

Then I type what the makefile does to complie the cpp and link it. Luckily, I get the answer.
In all, Without your help, I might not find the problem now.
Thanks a lot!

mgates3
Posts: 918
Joined: Fri Jan 06, 2012 2:13 pm

Re: Install MAGMA on ubuntu 11.10 32bit with MKL

Post by mgates3 » Wed Mar 20, 2013 1:41 pm

Sorry, the arguments for testers were a bit inconsistent. (They have been revised for the next release, to be more consistent.) For sgemv, the sizes were given by -m and -n (lowercase), while -N and -T select non-transposed or transposed. For the current 1.3 release, sometimes the Usage prints the available command line flags, but otherwise you have to consult the tester source code to see what arg gets parsed. Again, the next release will have a help option.

As for testing_*blas, there was a bug in the tester, allocating the pivot vector. The code was lacking a sizeof(int). It should be:

Code: Select all

err = magma_malloc_cpu( (void**) &piv, maxn*sizeof(int) );    assert( err == 0 );
-mark

cz0397
Posts: 15
Joined: Tue Feb 26, 2013 10:22 pm

Re: Install MAGMA on ubuntu 11.10 32bit with MKL

Post by cz0397 » Thu Mar 21, 2013 6:50 am

Year! I know. Now I can run it completely.
Thanks!

Post Reply