Message boards : Questions and problems : GPU Work Units Only
Message board moderation
Author | Message |
---|---|
Send message Joined: 22 Mar 09 Posts: 51 |
I'm trying to set up a client on my home server, to use GPU only. It has a 9400m GPU, and no monitor attached. So if BOINC uses the GPU, it should be able to do some fast processing, while the CPUs remain unused for me to use, doing server-y things. I googled around and found that making a cc_config.xml file and putting the following data in there is supposed to make it work. But I did this, restarted my BOINC manager, but its still requesting and processing CPU work units. <cc_config> <options> <ncpus>0</ncpus> </options> </cc_config> Am I doing something wrong? Is there something else I need to do to make this work properly. Right now I have one GPU Collatz work unit going on my GPU, and a SETI work unit going on my CPU. Booo. |
Send message Joined: 22 Mar 09 Posts: 51 |
Oh and the machine in question is a Mac mini, 10.6.8, with BOINC 7.0.31. |
Send message Joined: 23 Apr 07 Posts: 1112 |
Just go to each of your projects in turn, and change in their Project Preferences 'Use CPU' to No SETI@home preferences Collatz Conjecture preferences Claggy |
Send message Joined: 4 Sep 09 Posts: 16 |
Try configuring your client: http://boinc.berkeley.edu/wiki/Client_configuration 1st step is ok: <ncpus>0</ncpus> you may also have to: <use_all_gpus>1</use_all_gpus> look, what device number your card is, as viewed from the client (check the log file, you should see something like:) 30/12/2012 11:44:24 p.m. | | Disk: 465.76 GB total, 440.65 GB free 30/12/2012 11:44:24 p.m. | | Local time is UTC -6 hours [b]30/12/2012 11:44:24 p.m. | | NVIDIA GPU 0: GeForce GTX 690 (driver version 310.70, CUDA version 5.0, compute capability 3.0, 2048MB, 8382371MB available, 3132 GFLOPS peak)[/b] In this example the 690 is device 0. If you have several devices (GPUs) listed there you should restrict use of your 9400 using the flag <exclude_gpu> |
Send message Joined: 22 Mar 09 Posts: 51 |
The error seems to be with <ncpus>0</ncpus> I am getting GPU units just fine, but I'm still getting CPU units. Since my cc_config.xml file is tiny, here's it's full text: <cc_config> <options> <ncpus>0</ncpus> </options> </cc_config> This file is located at /Library/Application Support/BOINC Data/cc_config.xml[/code] |
Send message Joined: 29 Aug 05 Posts: 15542 |
Use the project preferences to set "use CPU" to No and whichever GPU(s) you have to Yes. Example given: Einstein project preferences http://einstein.phys.uwm.edu/prefs.php?subset=project: Use CPU Enforced by version 6.10+ no Use ATI GPU Enforced by version 6.10+ yes Use NVIDIA GPU Enforced by version 6.10+ no |
Send message Joined: 4 Sep 09 Posts: 16 |
The error seems to be with <ncpus>0</ncpus> Use the project preferences to set "use CPU" to No and whichever GPU(s) you have to Yes. This may cause confusion to some of us. Although the <ncpus> is also used to simulate "multicore" cpus, but it also has the 0-parameter, which according to the wiki page: "in newer clients really means zero to e.g. only allow GPU computing" I have placed 0 to <ncpus> in my config file (as I don't want to use cpu for computing) but also have set the "use CPU" option to "no" in my computing preferences in the project's website. It works, but I guess this can be done more user friendly and would be wiser to discourage the use of duplicate functions in configuration parameters. |
Send message Joined: 23 Apr 07 Posts: 1112 |
This may cause confusion to some of us. Although the <ncpus> is also used to simulate "multicore" cpus, but it also has the 0-parameter, which according to the wiki page: "in newer clients really means zero to e.g. only allow GPU computing" <ncpus>0</ncpus> is a debug setting, David has said before that it shouldn't be used to limit the number of CPU cores in use, we have the 'On multiprocessors, use at most x processors' and the 'On multiprocessors, use at most 100% of the processors' settings for that, The "in newer clients really means zero to e.g. only allow GPU computing" statement dates all the way back to before April 09 when GPU computing was only just beginning, circa Boinc 6.6.20, so i hardly think it is intended for use with modern Boinc versions. Claggy |
Send message Joined: 5 Jan 13 Posts: 81 |
This may cause confusion to some of us. Although the <ncpus> is also used to simulate "multicore" cpus, but it also has the 0-parameter, which according to the wiki page: "in newer clients really means zero to e.g. only allow GPU computing" I've never heard David say that and I would imagine 95% have never heard him say that. The official documentation is the wiki. I have heard David say that and I believe he would repeat that statement today if asked. The wiki does not say <ncpus> is a debug setting therefore <ncpus> is not officially a debug setting. we have the 'On multiprocessors, use at most x processors' and the 'On multiprocessors, use at most 100% of the processors' settings for that, Then perhaps the wiki should say something to that effect. At this time it does not. The "in newer clients really means zero to e.g. only allow GPU computing" statement dates all the way back to before April 09 when GPU computing was only just beginning, circa Boinc 6.6.20, so i hardly think it is intended for use with modern Boinc versions. But it says "in newer clients". How do those words lead one to the conclusion it does not apply to newer clients? Are readers expected to go through wiki logs to see when each and every statement was published to help decide if it applies today? Anyway, if people are setting ncpus = 0 and BOINC is still using the CPU then there is a bug in the software, regardless of whether commoners should use the setting or not. And I removed the phrase in the wiki suggesting ncpus = 0 can be used to configure for GPU only. |
Send message Joined: 4 Sep 09 Posts: 16 |
<ncpus>0</ncpus> is a debug setting, David has said before that it shouldn't be used to limit the number of CPU cores in use, we have the 'On multiprocessors, use at most x processors' and the 'On multiprocessors, use at most 100% of the processors' settings for that, Another example in "multiplicity" of configuration parameters. |
Send message Joined: 5 Jan 13 Posts: 81 |
<ncpus>0</ncpus> is a debug setting, David has said before that it shouldn't be used to limit the number of CPU cores in use, we have the 'On multiprocessors, use at most x processors' and the 'On multiprocessors, use at most 100% of the processors' settings for that, +1 And they wonder why people are confused by BOINC. They think the more options the better and they ignore the fact that every time they provide an option they force the user to make a decision. When users are running software for charity they don't have motivation to spend time and effort making a lot of decisions unless the option is well documented and they don't have to look very far to find the documentation. They want it all done, installed and ready to go in 10 clicks or less. Anything more is an annoyance to them. Responses to this line of reasoning will begin with "well if you don't like it go make your own BOINC". If we persist after that we will be banished so be careful what you say. |
Send message Joined: 29 Aug 05 Posts: 15542 |
Actually, most of the documentation is made by volunteers, users just like you and me. Since BOINC is evolving, this means that there's a constant lack of good documentation, as something that was true yesterday will become untrue tomorrow due to a code-change. And lots of that is 'hidden' in the source code, not always commented on by the developers either. |
Send message Joined: 4 Sep 09 Posts: 16 |
<ncpus>0</ncpus> is a debug setting, David has said before that it shouldn't be used to limit the number of CPU cores in use, we have the 'On multiprocessors, use at most x processors' and the 'On multiprocessors, use at most 100% of the processors' settings for that, Personal disclaimer: ;) As a volunteer tester, I really appreciate the work done by BOINC programmers. I do not expect perfection from BOINC and I guess some programmers are or have some kind of volunteering in their work too. I know, by personal experience, that you cannot build a system and expect everyone would be happy with it. I am not a scientist but try to support science in any way I can. Having said that, everything is perfectible and I feel I might add to construction of this great endeavour by giving my opinion, in the light of an average-joe user. Just as I can sometimes ask for help in these forums, I feel obligated to give one's back in return whenever I can. Every bit of ideas I might post here are just my 2 cents for improving the useability of BOINC from the point of view of an average user, imho. Whether someone would find this usefull or not, is not for me to decide, but that is not reason enough for me to restrain me from expressing anything which actually did diminish my experience with the use of the software. No personal offense is meant to anyone in this and all threads I might post. ;) |
Send message Joined: 5 Jan 13 Posts: 81 |
So you're saying users ought to consult the source code if they want up to date documentation? |
Send message Joined: 18 Jun 10 Posts: 73 |
So you're saying users ought to consult the source code if they want up to date documentation? No, I think he is saying that he and others active in editing wiki pages have to dig sometimes in the code to find out the truth about BOINC behavior when the developers didn't say something explicitly. And this takes time. Especially when the code changes significantly. Often some 'new concept' code replaces the old, it takes time someone to figure out what is changed and edit the relevant wiki pages. Ageless is active in writing/editing the wiki pages: http://boinc.berkeley.edu/w/?title=Client_configuration&action=history - ALF - "Find out what you don't do well ..... then don't do it!" :) |
Send message Joined: 18 Jun 10 Posts: 73 |
Anyway, if people are setting ncpus = 0 and BOINC is still using the CPU then there is a bug in the software, regardless of whether commoners should use the setting or not. Are you sure the setting <ncpus>0</ncpus> was recognized by BOINC (e.g. what the log say)? Was BOINC restarted after the edit? - ALF - "Find out what you don't do well ..... then don't do it!" :) |
Send message Joined: 5 Jan 13 Posts: 81 |
Anyway, if people are setting ncpus = 0 and BOINC is still using the CPU then there is a bug in the software, regardless of whether commoners should use the setting or not. You would have to ask the person who reported that. All I said is that if that is the behavior then there is a bug. I do know that changing from ncpus = 7 to ncpus = 5, for example, takes effect as soon as you force reread of cc_config.xml. It does not require a BOINC client restart. Changing to ncpus = 0 might require a restart, I don't know, never tried it. It is possible that the person who raised this issue did not force reread of cc_config.xml. Good for you to bring that possibility to the front. BTW, that's not my ISP and IP address, if that's what you're saying. |
Send message Joined: 5 Jan 13 Posts: 81 |
So you're saying users ought to consult the source code if they want up to date documentation? Doh! Yes, I see now. I should have realized that is what he meant because I was once active in writing wiki pages, back when Ageless refused to write. Fortunate for us he has changed his mind. |
Send message Joined: 18 Jun 10 Posts: 73 |
BTW, that's not my ISP and IP address, if that's what you're saying. :) I'm not saying this - the graphic is generated dynamically by danasoft.com so everyone see his own IP (or the IP of Proxy or VPN he is using) (only you see your IP, I see mine) == http://www.danasoft.com/sig/BilBg.jpg http://www.danasoft.com/ - ALF - "Find out what you don't do well ..... then don't do it!" :) |
Send message Joined: 29 Aug 05 Posts: 15542 |
Often some 'new concept' code replaces the old, it takes time someone to figure out what is changed and edit the relevant wiki pages. Often even it happens that I read something in one of the Wiki's (there's two official ones), that was changed a long time ago, but no one had bothered up till that point to change it. perhaps others hadn't seen it either, or it's on someone's ever growing to-do list (been there), or there's some other cause that the documentation isn't up-to-date. More often it happens that another user comes onto a forum somewhere asking for clarification about a thing in the Wiki's... like it happened here. ;-) |
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.