BOINC as a service and GPU


log in

Advanced search

Message boards : Number crunching : BOINC as a service and GPU

Author Message
Profile Anthony Arbuzoff
Volunteer tester
Avatar
Send message
Joined: 6 Apr 00
Posts: 204
Credit: 2,549,628
RAC: 1,405
Russia
Message 1163121 - Posted: 17 Oct 2011, 5:51:00 UTC

I have a PC, but often I haven't direct access to it, so BOINC was installed as a service. Because of it, BOINC doesn't found a GPU processor out. It is rather vexing that that GPU is wasting. Might be there any way out?
____________

Dave Stegner
Volunteer tester
Avatar
Send message
Joined: 20 Oct 04
Posts: 476
Credit: 41,020,667
RAC: 9,615
United States
Message 1163123 - Posted: 17 Oct 2011, 6:03:22 UTC

Boinc as a service runs fine with GPU.

Which of your machines are you speaking of?


____________
Dave

Profile Anthony Arbuzoff
Volunteer tester
Avatar
Send message
Joined: 6 Apr 00
Posts: 204
Credit: 2,549,628
RAC: 1,405
Russia
Message 1163126 - Posted: 17 Oct 2011, 6:30:11 UTC - in response to Message 1163123.
Last modified: 17 Oct 2011, 6:30:39 UTC

Boinc as a service runs fine with GPU.


When there was BOINC standart installation, GPU was ok. Somebody on this forum told me that GPU doesn't supported when BOINC runs as a service. And really, now when it checking hardware after starting, compatible GPU doesn't founded.

Which of your machines are you speaking of?



http://setiathome.berkeley.edu/show_host_detail.php?hostid=5737901
____________

Dave Stegner
Volunteer tester
Avatar
Send message
Joined: 20 Oct 04
Posts: 476
Credit: 41,020,667
RAC: 9,615
United States
Message 1163128 - Posted: 17 Oct 2011, 6:37:54 UTC

From your application details, it looks like you ran some cuda (gpu) at one point in time.

I would go here:

http://lunatics.kwsn.net/index.php?module=Downloads;sa=dlview;id=284

Download the Lunatics unified installer and run it.

What kind of GPU do you have?


____________
Dave

Profile Raistmer
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 16 Jun 01
Posts: 3504
Credit: 47,782,451
RAC: 46,876
Russia
Message 1163129 - Posted: 17 Oct 2011, 7:21:44 UTC

"Microsoft Windows 7 " AFAIK GPU not supported in service mode for this OS.
It supported for WinXP and Windows 2003 server.

LadyL
Volunteer tester
Avatar
Send message
Joined: 14 Sep 11
Posts: 1679
Credit: 5,230,097
RAC: 0
Message 1163130 - Posted: 17 Oct 2011, 7:29:39 UTC
Last modified: 17 Oct 2011, 7:33:07 UTC

Under Vista/Win7 service (aka protected execution) installs will not recognise the GPU - something to do with how windows organises what's allowed what.

Under XP AND Boinc version prior to 6.12.38 GPUs will run on service installs.

So if you've installed BOINC as a service under XP don't upgrade past 6.12.37, because that has http://boinc.berkeley.edu/trac/changeset/24273. Unless whatever ATI buggered up this time gets fixed and that changeset revoked and the stuff backported/updated in some future 6.12 version.

Sorry Anthony, if you want to use the GPU, you can't install as a service under Win7. If you can only install as service, the GPU can't be used.

@ Dave Stegner: It doesn't matter what apps you throw on the host (stock or Optimised) if the GPUs aren't recognised in the first place. Anthony explained that he had the GPU working when it was a normal (non-service) install.

Profile Anthony Arbuzoff
Volunteer tester
Avatar
Send message
Joined: 6 Apr 00
Posts: 204
Credit: 2,549,628
RAC: 1,405
Russia
Message 1163132 - Posted: 17 Oct 2011, 7:50:21 UTC - in response to Message 1163130.


Sorry Anthony, if you want to use the GPU, you can't install as a service under Win7. If you can only install as service, the GPU can't be used.


It's so pity! My hopes were that something was change in that point. Am I understand rightly, than next versions of BOINC predetermined will not help me?
____________

LadyL
Volunteer tester
Avatar
Send message
Joined: 14 Sep 11
Posts: 1679
Credit: 5,230,097
RAC: 0
Message 1163142 - Posted: 17 Oct 2011, 9:40:23 UTC - in response to Message 1163132.


Sorry Anthony, if you want to use the GPU, you can't install as a service under Win7. If you can only install as service, the GPU can't be used.


It's so pity! My hopes were that something was change in that point. Am I understand rightly, than next versions of BOINC predetermined will not help me?


If I understood correctly, it's a Windows thing, not a BOINC thing.

Something to do with privileges prgrams get iirc. boinc as a service simply doesn't get access rights to the GPU, so nothing that could be done in newer boinc versions.

Sombody correct me please if that is wrong - I'm neither omniscient nor do I speak ex cathedra.

OzzFan
Volunteer tester
Avatar
Send message
Joined: 9 Apr 02
Posts: 13625
Credit: 31,064,705
RAC: 20,500
United States
Message 1163165 - Posted: 17 Oct 2011, 11:41:00 UTC - in response to Message 1163132.


Sorry Anthony, if you want to use the GPU, you can't install as a service under Win7. If you can only install as service, the GPU can't be used.


It's so pity! My hopes were that something was change in that point. Am I understand rightly, than next versions of BOINC predetermined will not help me?


The video drivers were moved out of the Windows kernel space and into the user space. As such, the video drivers are not loaded until the user logs in. Because of this, BOINC cannot crunch on the video card without the video driver loaded.

This is not something BOINC can fix, this is a Windows thing. By moving the video drivers out of the kernel space, it allows Windows to be more stable so that a video driver crash does not bring down the entire system due to it not running in the kernel space.

Profile Anthony Arbuzoff
Volunteer tester
Avatar
Send message
Joined: 6 Apr 00
Posts: 204
Credit: 2,549,628
RAC: 1,405
Russia
Message 1163174 - Posted: 17 Oct 2011, 12:24:24 UTC - in response to Message 1163165.

So BOINC can start with CPU only, and lately mount GPU after user will log on. Why not?
____________

Profile Raistmer
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 16 Jun 01
Posts: 3504
Credit: 47,782,451
RAC: 46,876
Russia
Message 1163178 - Posted: 17 Oct 2011, 12:31:34 UTC - in response to Message 1163174.
Last modified: 17 Oct 2011, 12:32:25 UTC

So BOINC can start with CPU only, and lately mount GPU after user will log on. Why not?

This should involve interaction between service profile and user session. Not sure that it technically possible for service, to hook into user session.
Windows just doesn't provide access to needed driver part perhaps.
Also, it will prevent to use GPU even when user logged on via RDP - windows substitudes some generic video driver (that provides console I/O redirection to network) instead of GPUs driver.
Actually both these problems can be solved if driver manufacturers will not mark driver as video driver. AFAIK NV did this for their Tesla driver support.
Try to search internet, maybe some hackers already fit those drivers to ordinary GPUs....
But I didn't hear that AMD provide anything like this.

OzzFan
Volunteer tester
Avatar
Send message
Joined: 9 Apr 02
Posts: 13625
Credit: 31,064,705
RAC: 20,500
United States
Message 1163194 - Posted: 17 Oct 2011, 14:20:28 UTC - in response to Message 1163174.

So BOINC can start with CPU only, and lately mount GPU after user will log on. Why not?


That's a good question. Perhaps we could ask the BOINC developers to add in a routine that periodically checks for the existence of a video driver and then start running GPU tasks.

Though I suspect that this can cause tremendous scheduling issues. For example, if a user doesn't log into a machine for three days, tasks marked as GPU won't get crunched and could run the risk of missing deadlines.

This could be solved by adding yet another stat such as "Amount of time GPU is available for crunching", but I imagine that adding another layer of complexity might only confuse people who already don't understand how BOINC works and insist on pushing more buttons to make it work the way they want it to.

LadyL
Volunteer tester
Avatar
Send message
Joined: 14 Sep 11
Posts: 1679
Credit: 5,230,097
RAC: 0
Message 1163197 - Posted: 17 Oct 2011, 14:33:06 UTC - in response to Message 1163194.

So BOINC can start with CPU only, and lately mount GPU after user will log on. Why not?


That's a good question. Perhaps we could ask the BOINC developers to add in a routine that periodically checks for the existence of a video driver and then start running GPU tasks.

Though I suspect that this can cause tremendous scheduling issues. For example, if a user doesn't log into a machine for three days, tasks marked as GPU won't get crunched and could run the risk of missing deadlines.

This could be solved by adding yet another stat such as "Amount of time GPU is available for crunching", but I imagine that adding another layer of complexity might only confuse people who already don't understand how BOINC works and insist on pushing more buttons to make it work the way they want it to.


Already there (since 6.12.x iirc)

<time_stats> <on_frac>xxx</on_frac> <connected_frac>xxx</connected_frac> <active_frac>xxx</active_frac> <gpu_active_frac>xxx</gpu_active_frac> <last_update>xxx</last_update> </time_stats>

OzzFan
Volunteer tester
Avatar
Send message
Joined: 9 Apr 02
Posts: 13625
Credit: 31,064,705
RAC: 20,500
United States
Message 1163199 - Posted: 17 Oct 2011, 14:53:43 UTC - in response to Message 1163197.

So then I guess all that's left is to add code to BOINC to routinely check for the presence of a proper OpenCL video driver.

Profile ML1
Volunteer tester
Send message
Joined: 25 Nov 01
Posts: 8502
Credit: 4,194,990
RAC: 1,726
United Kingdom
Message 1163222 - Posted: 17 Oct 2011, 16:26:10 UTC - in response to Message 1163142.

... If I understood correctly, it's a Windows thing, not a BOINC thing.

Something to do with privileges prgrams get iirc. boinc as a service simply doesn't get access rights to the GPU, so nothing that could be done in newer boinc versions. ...


On most Linux distros, Boinc normally installs as a service and runs fine, including for GPU use for those projects that support your GPU.


Try taking a look?

Happy fast crunchin',
Martin


____________
See new freedom: Mageia4
Linux Voice See & try out your OS Freedom!
The Future is what We make IT (GPLv3)

Profile Ageless
Avatar
Send message
Joined: 9 Jun 99
Posts: 12330
Credit: 2,633,822
RAC: 1,211
Netherlands
Message 1163229 - Posted: 17 Oct 2011, 16:34:12 UTC - in response to Message 1163222.

On most Linux distros, Boinc normally installs as a service and runs fine, including for GPU use for those projects that support your GPU.

Perhaps so with the Berkeley installer, but not when installed from repositories, unless you configure the OS extra. Only nVidia GPUs are doable, the ATI GPUs have so far eluded all attempts to get them working with BOINC as a daemon.
____________
Jord

Fighting for the correct use of the apostrophe, together with Weird Al Yankovic

Profile ML1
Volunteer tester
Send message
Joined: 25 Nov 01
Posts: 8502
Credit: 4,194,990
RAC: 1,726
United Kingdom
Message 1163351 - Posted: 18 Oct 2011, 1:45:41 UTC - in response to Message 1163229.

On most Linux distros, Boinc normally installs as a service and runs fine, including for GPU use for those projects that support your GPU.

Perhaps so with the Berkeley installer, but not when installed from repositories, unless you configure the OS extra. Only nVidia GPUs are doable, the ATI GPUs have so far eluded all attempts to get them working with BOINC as a daemon.

Are you sure you're not thinking "Windows"?...

When last I looked for (K)Ubuntu, Mandriva, Mageia, Sabayon, Gentoo, the repositories for each of those distros had Boinc nicely packaged to run as a daemon ("service").

Note that the version of Boinc for those for GPU working likely only works for nVidia GPUs... Usual config file hack needed for s@h for GPU working. Other projects are automatically supported.


Please let me know if you know different and for when.

Happy crunchin',
Martin

____________
See new freedom: Mageia4
Linux Voice See & try out your OS Freedom!
The Future is what We make IT (GPLv3)

Profile Ageless
Avatar
Send message
Joined: 9 Jun 99
Posts: 12330
Credit: 2,633,822
RAC: 1,211
Netherlands
Message 1163527 - Posted: 18 Oct 2011, 21:37:46 UTC - in response to Message 1163351.

I have my sources... and they tell me:

GPU detection always works when BOINC is installed by the Berkeley installer. The reason is Berkeley installer installs BOINC on your personal account therefore BOINC runs on your personal account. That works because all regular users have access to the X-session which is the session the video and CUDA drivers run in. (BTW, X is not a variable/unknown in this case, X is the name of the video sub-system. Anything to do with graphics runs on top of X. If you boot to a CLI then you don't need to start X, a more primitive video sub-system is sufficient and lowers overhead.)

Installing from repos (repositories) breaks GPU detection because BOINC gets installed on an unprivileged user account (usually named boinc but not necessarily, depends on the distro). That user doesn't have permission to access the X-session therefore no access to videodrivers or CUDA drivers and thus the "No usable GPUs found" message.

There are various ways to allow boinc user access to the X-session but how you do it depends on your distro and what security features you have turnd on/off or how those security features are configured. I have a hunch the guy at SETI has done more than just (sym)link his videodrivers to the right directories. That may be just one of several things he did and has simply forgotten about those other things? Or it may actually be the only thing he did but I am fairly certain that he had to reconfigure some file permissions somewhere too.

I do have GPU detection working on Fedora Linux installed from repos. I didn't try just symlinking the drivers to other directories and changing some permissions so I cannot say for sure if that does or does not work on Fedora. As I recall I made some changes to the way X runs though that may have been unnecessary if the guy at SETI is right. I have heard from one Ubuntu user that what I did on Fedora did not work for him on Ubuntu. Doesn't surprise me as Ubuntu takes a somewhat different approach on some Linux things. What I did to get the GPU recognized should work on RHEL (Red Hat Enterprise Linux), Fedora and CentOS because they are in the same "family". Those same measures probably won't work on Mandriva, SuSe or Gentoo or derivatives of those. There is a sticky thread started by Skip Da Shu in the GPU section that has various things that work on Ubuntu. I don't have a GPU on Ubuntu so have never tested those.

Which Linux does the guy at SETI run? Whatever he has done might not work on distros outside his Linux family.


____________
Jord

Fighting for the correct use of the apostrophe, together with Weird Al Yankovic

Profile Khangollo
Avatar
Send message
Joined: 1 Aug 00
Posts: 245
Credit: 36,410,524
RAC: 0
Slovenia
Message 1163541 - Posted: 18 Oct 2011, 22:25:25 UTC
Last modified: 18 Oct 2011, 22:34:09 UTC

You can easily run cuda applications with *no* X server running and that under a separate account, too.
All you need to do is to LOAD the nvidia kernel module manually (or put it into init script):

nvidia-smi -pm 1

No X-session necessary or anything. Just original nvidia drivers (which require basic X11 libs to be installed, IIRC also kernel-devel packages).
____________

John McLeod VII
Volunteer developer
Volunteer tester
Avatar
Send message
Joined: 15 Jul 99
Posts: 24694
Credit: 522,659
RAC: 19
United States
Message 1164384 - Posted: 21 Oct 2011, 23:25:04 UTC - in response to Message 1163178.

So BOINC can start with CPU only, and lately mount GPU after user will log on. Why not?

This should involve interaction between service profile and user session. Not sure that it technically possible for service, to hook into user session.
Windows just doesn't provide access to needed driver part perhaps.
Also, it will prevent to use GPU even when user logged on via RDP - windows substitudes some generic video driver (that provides console I/O redirection to network) instead of GPUs driver.
Actually both these problems can be solved if driver manufacturers will not mark driver as video driver. AFAIK NV did this for their Tesla driver support.
Try to search internet, maybe some hackers already fit those drivers to ordinary GPUs....
But I didn't hear that AMD provide anything like this.

It is possible, for the service to interact with the user session. However it is a thorough pain and involves leaving the service with full system rights (including a couple that are not normal for administrators).
____________


BOINC WIKI

Message boards : Number crunching : BOINC as a service and GPU

Copyright © 2014 University of California