Extremely high CPU usage while running culaSgesvd

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

Extremely high CPU usage while running culaSgesvd

Postby temp0712 » Fri Dec 28, 2012 3:05 am

Hey,

I've been running htop in the background (please find a screenshot attached) while running my code, and I've noticed that the CPU usage is extremely high when the culaSgesvd routine is invoked by my code on a 4000x4000 Hilbert matrix. My hardware specs are as follows -

Xeon E5606 (8 cores) running at 2.13 GHz with 4GB RAM on a 32 bit Linux (3.0.0.23-generic) system (Ubuntu 11.10)
Tesla C2075 with NVidia proprietary driver 304.33 (CUDA version 5.0, CULA release R16a)

I'm using CULA in the standard mode. Is this because of transfers between host and device memory, or because of computations run by the svd routine on the CPU? And if it's the latter, is there any way (a command-line flag or the like) that computation can be limited exclusively to the GPU?

Thanks in advance!
Attachments
CULA htop screen.png
CULA htop screen.png (43.76 KiB) Viewed 5087 times
temp0712
 
Posts: 4
Joined: Thu Dec 06, 2012 10:18 pm

Re: Extremely high CPU usage while running culaSgesvd

Postby kyle » Fri Dec 28, 2012 11:56 am

That's to be expected - CULA utilizes the GPU and CPU at the same time to achieve maximum performance.
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: Extremely high CPU usage while running culaSgesvd

Postby temp0712 » Sat Dec 29, 2012 2:48 am

Oh, thanks. Is there any way to limit CULA's operation to just the GPU? (like a command line flag while running/compiling, or something similar).
temp0712
 
Posts: 4
Joined: Thu Dec 06, 2012 10:18 pm

Re: Extremely high CPU usage while running culaSgesvd

Postby kyle » Mon Dec 31, 2012 10:03 am

This is untested and certainly not a "supported feature", but since the CPU is parallelized with OpenMP you might be able to use the OpenMP environment, OMP_NUM_THREADS, to control how many threads are being launched by the runtime.
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm

Re: Extremely high CPU usage while running culaSgesvd

Postby v7kubkzs » Sat Jan 19, 2013 9:33 am

In a similar vein, nvvp is indicating that the CPU is doing all of the work. I'm running culaDeviceGesvd() on a double-precision matrix of size 100,000-by-50. nvvp shows the matrix being transferred to the host, a blank period (during which presumably the hos is doing the work), then a transfer of the result back to the device.

This is a GeForce GT 650M (MacBook Pro Retina), with CULA R16a.

I'm assuming that there are problem sizes where CULA determines it is better to do all of the work on the host, even allowing for transfer, and that this is what is happening here. If this is the case, is there a way to force a device computation?
v7kubkzs
 
Posts: 6
Joined: Fri Aug 17, 2012 8:32 pm

Re: Extremely high CPU usage while running culaSgesvd

Postby john » Wed Jan 23, 2013 1:13 pm

I'm afraid there are no configuration parameters for this. The tall-and-skinny version of SVD requires a separate algorithm that we don't implement at this time.
john
Administrator
 
Posts: 587
Joined: Thu Jul 23, 2009 2:31 pm


Return to CULA Dense Support

Who is online

Users browsing this forum: No registered users and 2 guests

cron