OpenCL Astropulse on Linux, high CPU usage


log in

Advanced search

Message boards : Number crunching : OpenCL Astropulse on Linux, high CPU usage

Author Message
Profile ivan
Volunteer tester
Avatar
Send message
Joined: 5 Mar 01
Posts: 554
Credit: 120,456,761
RAC: 89,639
United Kingdom
Message 1385537 - Posted: 28 Jun 2013, 20:45:22 UTC
Last modified: 28 Jun 2013, 20:46:58 UTC

Is there anything wrong with this picture?

top - 21:32:22 up 2 days, 12:34, 1 user, load average: 5.50, 5.55, 5.55
Tasks: 140 total, 6 running, 134 sleeping, 0 stopped, 0 zombie
Cpu(s): 7.0%us, 15.1%sy, 77.9%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 2051072k total, 1759512k used, 291560k free, 493744k buffers
Swap: 8008364k total, 0k used, 8008364k free, 705736k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7826 ivan 30 10 129m 42m 12m R 100 2.1 229:03.85 astropulse_6.07
7804 ivan 39 19 42432 39m 16 R 81 2.0 171:49.80 setiathome_7.01
7838 ivan 39 19 164m 96m 12 R 72 4.8 146:54.82 setiathome_7.01
7749 ivan 39 19 107m 39m 12 R 71 2.0 210:45.58 setiathome_7.01
7794 ivan 39 19 106m 38m 12 R 47 1.9 179:47.20 setiathome_7.01
2637 root 20 0 136m 38m 19m S 28 1.9 1079:42 Xorg

It's this system, a Core2 Quad with an old 8500 GT video card that I never though fast enough to try running CUDA on. But, the new regime has decided it can run OpenCL and is sending it AP work to run alongside the CPUs.

As you can see, it's reporting 100% CPU for the AP task as well as significant extra CPU for Xorg (the percentage can go up to 80%, sometimes down to 1 or 2). It's running Ubuntu 12.04.

I guess the main thing is whether it is providing greater throughput in this situation than with CPU alone. I'm tempted to let it run for a while and see what its RAC does before banning it from GPU work -- I have an identical system (with a different Linux and video card) to compare with, and they've always been neck-and-neck heretofore.
____________

Profile Raistmer
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 16 Jun 01
Posts: 3291
Credit: 40,981,286
RAC: 59,819
Russia
Message 1385549 - Posted: 28 Jun 2013, 21:11:10 UTC - in response to Message 1385537.
Last modified: 28 Jun 2013, 21:11:25 UTC

I see high CPU usage on own Linux host too.
On Windows there are old drivers that allow to avoid high CPU usage for OpenCL.
maybe same applies to Linux too?
____________
News about SETI opt app releases: https://twitter.com/Raistmer

TBar
Volunteer tester
Send message
Joined: 22 May 99
Posts: 1077
Credit: 30,755,312
RAC: 78,876
United States
Message 1385562 - Posted: 28 Jun 2013, 21:22:46 UTC - in response to Message 1385549.
Last modified: 28 Jun 2013, 21:36:48 UTC

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;


Open Hardware Monitor

Profile ivan
Volunteer tester
Avatar
Send message
Joined: 5 Mar 01
Posts: 554
Credit: 120,456,761
RAC: 89,639
United Kingdom
Message 1385574 - Posted: 28 Jun 2013, 21:59:51 UTC - in response to Message 1385562.

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;

Open Hardware Monitor

Hmm, I do have gkrellm on that system; I wonder if it can be persuaded to monitor the GPU.
Just remembered that I do have CUDA 4.0 on the system, from when I was trying to get my digital hologram reconstruction software running:

ivan@quad-server:~ $ nvidia-smi
Fri Jun 28 22:57:32 2013
+------------------------------------------------------+
| NVIDIA-SMI 5.319.32 Driver Version: 319.32 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce 8500 GT Off | 0000:02:00.0 N/A | N/A |
| 30% 85C N/A N/A / N/A | 71MB / 511MB | N/A Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Compute processes: GPU Memory |
| GPU PID Process name Usage |
|=============================================================================|
| 0 Not Supported |
+-----------------------------------------------------------------------------+

____________

Urs Echternacht
Volunteer tester
Send message
Joined: 15 May 99
Posts: 540
Credit: 47,025,993
RAC: 121,511
Germany
Message 1385588 - Posted: 28 Jun 2013, 22:59:00 UTC - in response to Message 1385562.

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;

...
Open Hardware Monitor

Thanks for that hint. Do you know if it will also show GPU load for NV GPUs ? It is (maybe) the first one with a GUI for Linux.

For ATI/AMD GPUs the GPU load can be displayed on the commandline using the driver configuration commandline tool aticonfig. The command

> aticonfig --adapter=all --odgc --odgt

will show actual frequencies, temperatures and GPU loads of all installed ATI/AMD GPUs working with that driver.
____________
_\|/_
U r s

Profile arkayn
Volunteer tester
Avatar
Send message
Joined: 14 May 99
Posts: 3544
Credit: 46,235,778
RAC: 31,479
United States
Message 1385591 - Posted: 28 Jun 2013, 23:02:22 UTC - in response to Message 1385588.

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;

...
Open Hardware Monitor

Thanks for that hint. Do you know if it will also show GPU load for NV GPUs ? It is (maybe) the first one with a GUI for Linux.

For ATI/AMD GPUs the GPU load can be displayed on the commandline using the driver configuration commandline tool aticonfig. The command

> aticonfig --adapter=all --odgc --odgt

will show actual frequencies, temperatures and GPU loads of all installed ATI/AMD GPUs working with that driver.


I will try tomorrow after I get off work on my 650Ti.

____________

EdwardPF
Volunteer tester
Send message
Joined: 26 Jul 99
Posts: 228
Credit: 42,265,369
RAC: 50,081
United States
Message 1385657 - Posted: 29 Jun 2013, 3:45:51 UTC - in response to Message 1385591.

I am using windows 7 and nvidia 560 ti and am new to AP.

Since I started I am consuming 1 cpu per AP WU run.

CPU time ~= wall time.

3054354982 1258059942 27 Jun 2013, 23:59:08 UTC 29 Jun 2013, 3:06:05 UTC Completed and validated 3,057.43 3,044.92 604.14 AstroPulse v6 Anonymous platform (NVIDIA GPU)
3054250558 1269400209 27 Jun 2013, 22:31:06 UTC 29 Jun 2013, 1:20:19 UTC Completed and validated 3,082.32 3,073.61 671.94 AstroPulse v6 Anonymous platform (NVIDIA GPU)
3053962976 1270717922 27 Jun 2013, 16:19:30 UTC 28 Jun 2013, 19:34:03 UTC Completed and validated 3,407.61 3,402.23 703.03 AstroPulse v6 Anonymous platform (NVIDIA GPU)
3053960500 1257887012 27 Jun 2013, 16:03:10 UTC 28 Jun 2013, 18:37:27 UTC Completed and validated 4,098.92 4,093.75 718.38 AstroPulse v6 Anonymous platform (NVIDIA GPU)

I ASSUME this correct behavior.

Ed F

Profile Mike
Volunteer tester
Avatar
Send message
Joined: 17 Feb 01
Posts: 22425
Credit: 29,409,479
RAC: 25,879
Germany
Message 1385723 - Posted: 29 Jun 2013, 7:11:40 UTC

Yes, Eduuard it is for nvidia.

____________

Profile petri33
Volunteer tester
Send message
Joined: 6 Jun 02
Posts: 349
Credit: 53,752,083
RAC: 143,734
Finland
Message 1396667 - Posted: 30 Jul 2013, 21:46:52 UTC - in response to Message 1385537.
Last modified: 30 Jul 2013, 22:01:37 UTC

For X11 load You could try disabling the "Sync to vblank" in NVIDIA X Server Settings (X Screen 0 - OpenGL settings).

The AP in linux NVIDIA has a high CPU usage. I wonder if this would help:

https://bitcointalk.org/index.php?topic=181328.0

I downloaded and compiled and put it in my boinc startup script like this:


...
daemon --check $BOINCEXE --user $BOINCUSER +10 "LD_PRELOAD=~boinc/projects/setiathome.berkeley.edu/libsleep.so $B\
OINCEXE $BOINCOPTS --dir $BOINCDIR >>$LOGFILE 2>>$ERRORLOG &" >& /dev/null
...


I have not had an opportunity to check wheter it helps since I have not had any AP tasks after the modification.
____________

Urs Echternacht
Volunteer tester
Send message
Joined: 15 May 99
Posts: 540
Credit: 47,025,993
RAC: 121,511
Germany
Message 1396723 - Posted: 30 Jul 2013, 22:56:31 UTC - in response to Message 1396667.

Is the -use_sleep commandline switch not working with AP on NV ?

No effect at all ?
____________
_\|/_
U r s

Profile petri33
Volunteer tester
Send message
Joined: 6 Jun 02
Posts: 349
Credit: 53,752,083
RAC: 143,734
Finland
Message 1396753 - Posted: 31 Jul 2013, 0:13:06 UTC - in response to Message 1396723.
Last modified: 31 Jul 2013, 0:16:01 UTC

I'll have to check that out too when I get some AP tasks. I did not know that existed.
____________

Bernd Noessler
Send message
Joined: 15 Nov 09
Posts: 99
Credit: 52,635,315
RAC: 1
Germany
Message 1396867 - Posted: 31 Jul 2013, 5:11:46 UTC - in response to Message 1396667.


I have not had an opportunity to check wheter it helps since I have not had any AP tasks after the modification.

I have tried that some days ago. It will bring down your CPU load
(in my case below 5%).
But the GPU performance penalty is very high.

Profile petri33
Volunteer tester
Send message
Joined: 6 Jun 02
Posts: 349
Credit: 53,752,083
RAC: 143,734
Finland
Message 1397069 - Posted: 31 Jul 2013, 17:53:04 UTC - in response to Message 1396667.
Last modified: 31 Jul 2013, 18:14:36 UTC

(replied to my own message)

http://setiathome.berkeley.edu/workunit.php?wuid=1275892000

I have not had time to investigate other effects, but the libsleep.so did reduce the cpu time.

btw. The AP took 20 minutes to finish along with 2 MB on same GPU and 3 MB on an other and 5 (edit: thre may have been 6 since only 1 AP 0.5 CPU was running) MB on CPU (i7-3930K ht on use 50% of cpus BOINC).

Only 6 cores were 100% active during the run according to SystemMonitor.
____________

Profile robl
Send message
Joined: 8 Dec 12
Posts: 47
Credit: 2,587,572
RAC: 18
United States
Message 1403603 - Posted: 15 Aug 2013, 20:11:19 UTC - in response to Message 1385591.
Last modified: 15 Aug 2013, 20:12:19 UTC

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;

...
Open Hardware Monitor

Thanks for that hint. Do you know if it will also show GPU load for NV GPUs ? It is (maybe) the first one with a GUI for Linux.

For ATI/AMD GPUs the GPU load can be displayed on the commandline using the driver configuration commandline tool aticonfig. The command

> aticonfig --adapter=all --odgc --odgt

will show actual frequencies, temperatures and GPU loads of all installed ATI/AMD GPUs working with that driver.


I will try tomorrow after I get off work on my 650Ti.


arkayn,

did you ever get a chance to try the "open hardware monitor" on your 650Ti?

Profile arkayn
Volunteer tester
Avatar
Send message
Joined: 14 May 99
Posts: 3544
Credit: 46,235,778
RAC: 31,479
United States
Message 1403614 - Posted: 15 Aug 2013, 20:17:37 UTC - in response to Message 1403603.

I'm running a 'new' ATI card on Linux and it's CPU usage is much higher than I would think it should be. I'm about to try and change an XP host to Linux, so, I'll see how the 6850 does in Linux.

BTW, I found an App that shows GPU load in Linux. I know it says Windows, but, it runs in Ubuntu with the MonoDevelop package. It's the first one I've found;

...
Open Hardware Monitor

Thanks for that hint. Do you know if it will also show GPU load for NV GPUs ? It is (maybe) the first one with a GUI for Linux.

For ATI/AMD GPUs the GPU load can be displayed on the commandline using the driver configuration commandline tool aticonfig. The command

> aticonfig --adapter=all --odgc --odgt

will show actual frequencies, temperatures and GPU loads of all installed ATI/AMD GPUs working with that driver.


I will try tomorrow after I get off work on my 650Ti.


arkayn,

did you ever get a chance to try the "open hardware monitor" on your 650Ti?


I could never get it too work.
____________

Message boards : Number crunching : OpenCL Astropulse on Linux, high CPU usage

Copyright © 2014 University of California