Boinc won't run GPU tasks on Ubuntu 14.04 on idle system

Message boards : GPUs : Boinc won't run GPU tasks on Ubuntu 14.04 on idle system
Message board moderation

To post messages, you must log in.

AuthorMessage
dgtangman

Send message
Joined: 16 May 15
Posts: 2
United States
Message 62190 - Posted: 16 May 2015, 5:20:07 UTC

I'm trying to run GPU tasks on an AMD FX-6300 with an ATI Radeon HD 6450, using a manually installed BOINC 7.2.42 downloaded from Berkeley, on Ubuntu 14.04. I recently discovered that I had a SETI@home task that appeared to be stuck; it was marked "GPU suspended - computer is in use" and showed Elapsed time 00:00:00 and remaining time about 71 hours. It remained in that state for several days.

Out of curiosity I turned on the option "Use GPU while computer is in use"; the stuck task immediately began accumulating time. At the same time the desktop became nearly unusable, with window movement very jerky and periods of several seconds when the system became totally unresponsive, not even updating the location of the mouse pointer. Those problems went away instantly when I suspended the task that was using the GPU.

It seems clear that BOINC isn't able to tell when my system is "idle". I have no idea what it's looking for to distinguish an idle system from one that is in use; any help would be appreciated.

One possibility that has occurred to me is to abandon my current BOINC installation and install the version in the Ubuntu repository. Feedback on the best way to do that, so as to minimize loss of work in progress, would also be appreciated, as would thoughts on whether or not it is likely to help.

The event log from a freshly restarted BOINC follows:

 Starting BOINC client version 7.2.42 for x86_64-pc-linux-gnu
 log flags: file_xfer, sched_ops, task
 Libraries: libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
 Data directory: /home/darrell/BOINC
 CAL: ATI GPU 0: AMD Radeon HD 6350/6450/7450/7470 series (Caicos) (CAL version 1.4.1848, 1024MB, 759MB available, 50 GFLOPS peak)
 OpenCL: AMD/ATI GPU 0: AMD Radeon HD 6350/6450/7450/7470 series (Caicos) (driver version 1411.4, device version OpenCL 1.2 AMD-APP (1411.4), 1024MB, 759MB available, 50 GFLOPS peak)
 OpenCL CPU: AMD FX(tm)-6300 Six-Core Processor (OpenCL driver vendor: Advanced Micro Devices, Inc., driver version 1411.4 (sse2,avx,fma4), device version OpenCL 1.2 AMD-APP (1411.4))
 Host name: turing
 Processor: 6 AuthenticAMD AMD FX(tm)-6300 Six-Core Processor [Family 21 Model 2 Stepping 0]
 Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 popcnt aes xsave avx f16c lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs xop skinit wdt lwp fma4 tce nodeid_msr tbm topoext perfctr_core perfctr_nb arat cpb hw_pstate npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold vmmcall bmi1
 OS: Linux: 3.13.0-52-generic
 Memory: 15.58 GB physical, 32.00 GB virtual
 Disk: 23.04 GB total, 12.67 GB free
 Local time is UTC -4 hours
 Milkyway@Home | URL http://milkyway.cs.rpi.edu/milkyway/; Computer ID 190946; resource share 100
 SETI@home | URL http://setiathome.berkeley.edu/; Computer ID 6629103; resource share 100
 SETI@home | General prefs: from SETI@home (last modified 05-Dec-2009 15:16:51)
 SETI@home | Computer location: home
 General prefs: using separate prefs for home
 Reading preferences override file
 Preferences:
 max memory usage when active: 7976.97MB
 max memory usage when idle: 14358.55MB
 max disk usage: 2.00GB
 max CPUs used: 4
 don't use GPU while active
 (to change preferences, visit a project web site or select Preferences in the Manager)
 Not using a proxy
 Suspending GPU computation - computer is in use
ID: 62190 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 801
Finland
Message 62197 - Posted: 16 May 2015, 20:37:01 UTC - in response to Message 62190.  

You'll find instructions in /usr/share/doc/boinc-client/README.Debian.gz after installing the package. Or you can read them online here. There's also a script in /usr/share/doc/boinc-client/examples/move-boinc-dir.sh that does approximately the same.

Moving to Debian/Ubuntu package is unlikely to help. Either the idle detection just doesn't work or it doesn't work in some other way.
ID: 62197 · Report as offensive
dgtangman

Send message
Joined: 16 May 15
Posts: 2
United States
Message 62231 - Posted: 18 May 2015, 15:29:57 UTC - in response to Message 62197.  

Thank you for your reply. Unfortunately, my GPU compute problems have multiplied. For some reason your reply sparked a memory of something I read in another thread, which led to the discovery that GPU tasks weren't running when I was logged out even when the option was selected to allow GPU use when the system is in use. Boinc runs under my user id, which left it unable to access the X server (and hence the GPU) once I logged out. Adding the line

si:localuser:{my-user-id}

to /etc/X0.hosts appears to have corrected that problem. So at the moment I can run GPU tasks while I'm logged out by switching the use-GPU-when-in-use option off when I log in and back on before I log out, which is imperfect but better than nothing.

However, it appears that my ancient GPU isn't reliable enough, given its limited performance, to be worth bothering with. SETI@home provided all my GPU tasks, and it appears that I'm getting about 30% validation on completed GPU tasks. So as long as I stick with the HD6450 I'm giving up on running on the GPU.
ID: 62231 · Report as offensive
Juha
Volunteer developer
Volunteer tester
Help desk expert

Send message
Joined: 20 Nov 12
Posts: 801
Finland
Message 62292 - Posted: 23 May 2015, 21:34:17 UTC - in response to Message 62231.  
Last modified: 23 May 2015, 21:34:32 UTC

Apologies for late reply but in case you are still hanging around.

At the moment your task list shows only validated GPU tasks, no invalids. It's possible the earlier invalids were caused by the GPU disappearing while the task was running. Anyway, if the GPU produces more invalids someone at Seti@Home Number Crunching forum might be able to help you.

And to make the GPU crunching a bit less of a burden here's a one-liner that should help. Run it in BOINC's data directory. (It's not too well tested though and might not do anything particularly intelligent when you log out.)

gdbus monitor --session --dest org.gnome.SessionManager --object-path /org/gnome/SessionManager/Presence | 
while read -r sig; do
    case $sig in
        *StatusChanged*3,\)) ./boinccmd --set_gpu_mode auto;;
        *StatusChanged*) ./boinccmd --set_gpu_mode never;;
    esac;
done


GNOME's Session Manager signals any interested applications when you go away or come back. That little script monitors those signals and tells BOINC to resume or suspend GPU computing as needed.
ID: 62292 · Report as offensive

Message boards : GPUs : Boinc won't run GPU tasks on Ubuntu 14.04 on idle system

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.