culaDeviceDsyev

General CULA Dense (LAPACK & BLAS) support and troubleshooting. Use this forum if you are having a general problem or have encountered a bug.

culaDeviceDsyev

Postby izaguirr » Thu Jun 14, 2012 1:11 pm

Hi,
Is there something wrong with the way I am calling culaDeviceDsyev?

culaDeviceDsyev('V', 'U', 360, S, 360, dS);

S is a 360x360 array of doubles (arranged as a one-dimensional array), and dS is a 360-element array of doubles.

It seems to not be doing anything actually. S contains the same values after the call as before but because of the first parameter 'V' should have eigenvectors (right?) and dS still has all zeroes as before.

I appreciate any help.
Trevor Cickovski
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby kyle » Thu Jun 14, 2012 7:23 pm

What is the status being returned by the function?
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: culaDeviceDsyev

Postby izaguirr » Fri Jun 15, 2012 5:49 am

It's returning 1 - so I guess it's erroring somehow. That helps, thanks.

My parameters seem ok, right? S should be stored row-majorly as a one-dimensional array?
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby john » Fri Jun 15, 2012 6:25 am

Error 1 is culaNotInitialized
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: culaDeviceDsyev

Postby izaguirr » Fri Jun 15, 2012 7:47 am

Ok thanks John, now I get a status of 10 with culaErrorInfo 11.

Looking at the reference manual, that means 11 off-diagonal elements fail to converge? The problem must be with the matrix, right?
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby john » Fri Jun 15, 2012 8:12 am

I see you mentioned row-major, but LAPACK/CULA matrices are column major.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: culaDeviceDsyev

Postby izaguirr » Fri Jun 15, 2012 9:28 am

Thanks! I still get the same error, but that's definitely good to know...
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby izaguirr » Mon Jun 18, 2012 12:14 pm

Hi, I've actually narrowed this down further but am pretty stumped. culaGetErrorInfo() returns 4 and culaGetErrorInfoString() prints:

CUDA Error: unspecified launch failure (see Programmer's Guide)

So I guess the problem is actually with CUDA. I have CULA Dense 13a but CUDA 3.2 and 4.0 both trigger that error. Is there anything extra I have to do to initialize CUDA? Or is calling culaInitialize() enough?

I appreciate your help.
-Trevor
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby john » Tue Jun 19, 2012 5:43 am

You definitely need at least CUDA 4.0 for CULA R13, though we'll always recommend you use the latest (ie R14).

At this point you'll probably need to post a reproducer, complete with matrix data.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: culaDeviceDsyev

Postby izaguirr » Tue Jun 19, 2012 2:14 pm

Ok thanks.. my code is pretty short (I've removed some of my error checking). I'm trying to compute eigenvalues and eigenvectors for this symmetric matrix:

| 1 7 3 |
| 7 4 -5 |
| 3 -5 6 |


int main() {
double s[9] = {1, 7, 3, 7, 4, -5, 3, -5, 6};
double eig[3];
culaStatus st= culaInitialize();
st = culaDeviceDsyev('V', 'U', 3, s, 3, eig);
culaShutdown();
}

As I understand there are no 'work' arrays like Lapack, right? Anything look wrong with that main() function?

Thanks,
Trevor
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm

Re: culaDeviceDsyev

Postby john » Wed Jun 20, 2012 5:10 am

You're passing host pointers to a device function. Try culaDsyev instead.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm

Re: culaDeviceDsyev

Postby izaguirr » Thu Jun 21, 2012 5:50 am

Oh right. Thank you - got it working!
izaguirr
 
Posts: 7
Joined: Fri Jun 08, 2012 3:49 pm


Return to CULA Dense Support

Who is online

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

cron