Open discussion for MAGMA library (Matrix Algebra on GPU and Multicore Architectures)


Postby arom » Tue Aug 07, 2012 6:06 am

Hi guys!

I work on a program in which I'd like to substitute ZHETRD function with MAGMAF_ZHETRD. After substitution I got error message with information that parameter 9 is invalid (length of work array). LAPACK documentation says
Code: Select all
   The dimension of the array WORK.  LWORK >= 1.
   For optimum performance LWORK >= N*NB, where NB is the
   optimal blocksize.

in magma_zhetrd you have the sane comment on lwork size, but strictly check if lwork>=n*nb
Code: Select all
    } else if (lwork < nb*n && ! lquery) {
        *info = -9;

such behaviour seems not to be good.
Posts: 12
Joined: Wed Jun 27, 2012 3:22 am

Re: zhetrd

Postby mgates3 » Tue Aug 07, 2012 3:21 pm

I've updated the MAGMA documentation to read:

Code: Select all
    LWORK   (input) INTEGER   
            The dimension of the array WORK.  LWORK >= N*NB, where NB is the
            optimal blocksize given by magma_get_zhetrd_nb().

Most MAGMA algorithms require the full workspace size using the optimal blocksize, even where LAPACK can do the computation slowly using a smaller workspace. GPUs require blocked algorithms for good efficiency, even more than CPUs do.

Posts: 717
Joined: Fri Jan 06, 2012 2:13 pm

Return to User discussion

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest