Message boards :
Number crunching :
GPU different run policies?
Message board moderation
Author | Message |
---|---|
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
I apologise if this has been answered elsewhere. Is there a way, fiddling with the configuration files, to have one GPU working no matter what and the other for example suspending BOINC crunching when the PC is in use (then I will also have to differentiate applications running, since the slower GPU - an oldish GTX 660 - is not capable of running the Linux special app)? Boinc manager only has a global setting, and I do not need an all or nothing setting. Thank you in advance and have a good WOW start (I am not in). Sleepy |
juan BFP Send message Joined: 16 Mar 07 Posts: 9786 Credit: 572,710,851 RAC: 3,799 |
I apologise if this has been answered elsewhere. You could start 2 instances of Boinc on the same host and program each one with an unique different configuration. |
Lazydude Send message Joined: 17 Jan 01 Posts: 45 Credit: 96,158,001 RAC: 136 |
[quote][quote]I apologise if this has been answered elsewhere. Is there a way, fiddling with the configuration files, to have one GPU working no matter what and the other for example suspending BOINC crunching when the PC is in use (then I will also have to differentiate applications running, since the slower GPU - an oldish GTX 660 - is not capable of running the Linux special app)? Boinc manager only has a global setting, and I do not need an all or nothing setting. Thank you in advance and have a good WOW start (I am not in). Could this be to any use?? https://boinc.berkeley.edu/wiki/Client_configuration <exclude_gpu> Don't use the given GPU for the given project. If <device_num> is not specified, exclude all GPUs of the given type. <type> is required if your computer has more than one type of GPU; otherwise it can be omitted. <app> specifies the short name of an application (i.e. the <name> element within the <app> element in client_state.xml). If specified, only tasks for that app are excluded. You may include multiple <exclude_gpu> elements. If you change GPU exclusions, you must restart the BOINC client for these changes to take effect. If you want to exclude the GPU use for all projects, look at the <ignore_ati_dev>, <ignore_nvidia_dev> and <ignore_intel_dev> options further down. Requires a client restart. <exclude_gpu> <url>project_URL</url> [<device_num>N</device_num>] [<type>NVIDIA|ATI|intel_gpu</type>] [<app>appname</app>] </exclude_gpu> Best Regards Lazy |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13161 Credit: 1,160,866,277 RAC: 1,873 |
The gpu_exclude would be the easiest thing to do. Just add the exclusion in the cc_config.xml file for the GTX 660 Ti. BOINC won't use it. Just add this to the Options section of cc_config.xml if for example when you start BOINC and the Event Log startup enumerates the GTX 660 Ti as GPU1. <exclude_gpu> <url>http://setiathome.berkeley.edu/</url> <device_num>1</device_num> <type>NVIDIA</type> </exclude_gpu> Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
bluestar Send message Joined: 5 Sep 12 Posts: 6995 Credit: 2,084,789 RAC: 3 |
I guess a graphics driver should be generic for just all such processors being installed, when not leaving only just one running, for the other(s) just idle, because it should not be any parameter setting either, for just installing versus running. |
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
The gpu_exclude would be the easiest thing to do.My problem is not excluding the 660, but allowing it to crunch the little or much that it can, but only when the PC is not being used (it is the GPU running the Plasma desktop). But at the same time I want to keep the 1060 to crunch as if it were no tomorrow. Therefore, I need some way to differentiate the two behaviors, not to cut the 660 altogether. Then, the exclude setting can also be useful to tell BOINC which program to use (I still have to figure in detail how, but this would be my plan). I am already using the exclude setting, but not for this purpose. The system can work also without it. But I am using it nonetheless. Thank you for any hint and for those that you already provided. Sleepy |
juan BFP Send message Joined: 16 Mar 07 Posts: 9786 Credit: 572,710,851 RAC: 3,799 |
The gpu_exclude would be the easiest thing to do.My problem is not excluding the 660, but allowing it to crunch the little or much that it can, but only when the PC is not being used (it is the GPU running the Plasma desktop). CHeck my msg. The only way i know to do what you ask for is by run 2 instances of Boinc on the host. One optimized for each GPU. |
Wiggo Send message Joined: 24 Jan 00 Posts: 34744 Credit: 261,360,520 RAC: 489 |
If your cc_config.xml has, "<use_all_gpus>1</use_all_gpus>", in it then either remove it or change the 1 to 0 then BOINC should only use the most productive card. Cheers. |
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
CHeck my msg. The only way i know to do what you ask for is by run 2 instances of Boinc on the host. One optimized for each GPU.Dear Juan, I did read Indeed and I have taken note. I will try your advice. Thank you. I was explaining better my desire, so that all can be more useful also to those who may read this thread in one year time. Sleepy |
Gene Send message Joined: 26 Apr 99 Posts: 150 Credit: 48,393,279 RAC: 118 |
@Sleepy I think Juan is pointing you in the right direction. I am running two boinc instances for a different reason. I wanted better control of system resource allocation, eg. use more cores between 2 a.m. and 6 a.m. when system cooling demands are lower, and to split away projects that do not use the GPU from those that do. In my Linux system it took a little bit of study of the boinc documentation, and a few failed efforts, to get the configuration working the way I wanted it. I'm no help with your Windows situation except to encourage you to try it. With a single boinc instance, the <exclude_gpu> feature won't do what you want to do; but in, for example, a two-instance configuration the <exclude_gpu> feature comes into play to customize each boinc instance to apply to just one of your GPUs. (OT: I haven't checked, but I hope you posted something in one of the "20 years" threads a few months ago when you passed that milestone.) :) |
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
I'm no help with your WindowsI am under Linux :-) I haven't checked, but I hope you posted something in one of the "20 years" threads a few months ago when you passed that milestone.) :)I have! :-) You are also a very long time running cruncher! Starting even before it was announced officially, I reckon! Sleepy |
bluestar Send message Joined: 5 Sep 12 Posts: 6995 Credit: 2,084,789 RAC: 3 |
For Windows XP you could also disable a card physically, using the Control Panel, but here not remembering whether this could also be for any GPU, by means of a parameter setting. |
Gene Send message Joined: 26 Apr 99 Posts: 150 Credit: 48,393,279 RAC: 118 |
@sleepy O.K., Linux! I saw your computers in your other projects were all windows so I jumped to the conclusion that the same would be true for Seti. A couple of boinc configuration things to be aware of, when running multiple instances. Each one needs to have "allow multiple clients" enabled; if that is done when boinc is started a file will be created "gui_rpc_auth.cfg" which contains a 32 (hexadecimal) character string; the standard "gui rpc port" number is 31420; when the second instance of boinc is started you will be prompted for a host and password - enter "localhost" in the host field and a *********(hidden) password will automatically appear (it comes from the gui_rpc_auth.cfg mentioned above). I have two directories for my two boinc instances (I think(?) that's required) so that each has its own project and configuration files. You will need to study the boinc documentation for a lot more details than I've outlined here. Have fun!! Gene; |
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
Reviving this oldish thread. Summary: Running Kubuntu 18:10 1 Nvidia 1060 1 Nvidia GTX 660TI Driver 396.54 Running special application on the 1060. Obviously not even attempting this on the 660. Running repository Boinc (the one which runs under /var/lib with root privileges) When starting BOINC, I get: CUDA: NVIDIA GPU 1 (not used): GeForce GTX 660 (driver version 396.54, CUDA version 9.2, compute capability 3.0, 1995MB, 1844MB available, 2107 GFLOPS peak) But I also configured cc_info.xml, so that I correctly receive the expected message: 20-10-2019 22:51 Config: use all coprocessors What may be happening here, that this GPU is marked "not used" ? My idea is to use it with the stock OpenCL application, setting the proper exclusions in cc_info.xml... ... in a second instance of BOINC and separate settings, so that my normal work is not interfered with by BOINC. I have already tested this part of the job and it would work, if only BOINC would use the 660... This is the very original reason I started this topic. Thank you for any insight! |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13161 Credit: 1,160,866,277 RAC: 1,873 |
I think it should be doable via an anonymous platform which you are already doing if running the special app. You would need to define the 1060 section as a CUDA app and plan_class with its special sauce application defined. Then write a section for the 660Ti as a nvidia_opencl_SoG plan class with its SoG application defined. I also think you probably would have to use two gpu exclude statements in cc_config.xml of which the most important part would be the <app>appname</app> section where you would put the app you DON'T want to run on the defined card. Exclude the special sauce app from the 660Ti and exclude the 1060 from using the SoG app. <exclude_gpu> <url>project_URL</url> [<device_num>N</device_num>] [<type>NVIDIA|ATI|intel_gpu</type>] [<app>appname</app>] </exclude_gpu> Anyone want to comment on my thinking of whether this is doable in practice? Any examples of a host already using this method? Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Sleepy Send message Joined: 21 May 99 Posts: 219 Credit: 98,947,784 RAC: 28,360 |
Dear Keith, this is exactly what I am planning to do. The problem is that the GPU is somehow not fully recognised (GPU not used message) by BOINC, for SETI or other project. Therefore, I cannot get to use it, in any way I figure out to do, even abstracting from anonymous platform, multiple BOINC instances or other tweak. I already have a second session of BOINC ready and able to run and control it separately through BoincTasks, but this is an independent side of the problem, already solved (at least I judge so at the moment). Thank you! Sleepy |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13161 Credit: 1,160,866,277 RAC: 1,873 |
Then there must be a problem in the BOINC client code that expects that the same application is going to be used even with the <use_all_gpus>1</use_all_gpus> flag being set along with BOINC normally excluding lesser gpus when a more capable gpu is detected. Have you posted your testing and config files to Questions and Answers yet and in GPUS on the BOINC board? Would be good to get Richard Haselgrove involved too. Ultimately this needs to have an issue created on the github/boinc repository so that it can be fixed. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14649 Credit: 200,643,578 RAC: 874 |
I have a machine downstairs with two GPUs and a second BOINC instance ready for testing. I'll take a quick look, but can't spend much time on it this evening. Just getting started with Discord so that Jacob Klein and I can explore the buggy driver later. |
Keith Myers Send message Joined: 29 Apr 01 Posts: 13161 Credit: 1,160,866,277 RAC: 1,873 |
Thanks for the offer to help Richard. I wish I could get some traction on the Linux UPS on battery detection issue. My request for help got expired because of no activity on the Launchpad board. Haven't heard from Vitalii Koshura either after his initial reply. I would just write the new method myself if I knew what the coding syntax was supposed to be. Seti@Home classic workunits:20,676 CPU time:74,226 hours A proud member of the OFA (Old Farts Association) |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14649 Credit: 200,643,578 RAC: 874 |
Well, that took a while - this is a test machine, after all. But once I realised what I'd done wrong, and worked round a bug (new discovery) in the v7.16.3 Manager, I can confirm Instance #1 (BOINCdata) 21-Oct-2019 19:40:21 [---] Starting BOINC client version 7.16.3 for windows_x86_64 21-Oct-2019 19:40:21 [---] log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 21-Oct-2019 19:40:21 [---] Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 21-Oct-2019 19:40:21 [---] Data directory: D:\BOINCdata 21-Oct-2019 19:40:21 [---] Running under account Richard Haselgrove 21-Oct-2019 19:40:22 [---] CUDA: NVIDIA GPU 0: GeForce GTX 970 (driver version 373.06, CUDA version 8.0, compute capability 5.2, 4096MB, 3066MB available, 4087 GFLOPS peak) 21-Oct-2019 19:40:22 [---] CUDA: NVIDIA GPU 1: GeForce GTX 750 Ti (driver version 373.06, CUDA version 8.0, compute capability 5.0, 2048MB, 1875MB available, 1639 GFLOPS peak) 21-Oct-2019 19:40:22 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 970 (driver version 373.06, device version OpenCL 1.2 CUDA, 4096MB, 3066MB available, 4087 GFLOPS peak) 21-Oct-2019 19:40:22 [---] OpenCL: NVIDIA GPU 1: GeForce GTX 750 Ti (driver version 373.06, device version OpenCL 1.2 CUDA, 2048MB, 1875MB available, 1639 GFLOPS peak) 21-Oct-2019 19:40:22 [---] OpenCL: Intel GPU 0: Intel(R) HD Graphics 4600 (driver version 10.18.10.3621, device version OpenCL 1.2, 1298MB, 1298MB available, 192 GFLOPS peak) 21-Oct-2019 19:40:22 [---] OpenCL CPU: Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 3.0.1.10878, device version OpenCL 1.2 (Build 76413)) ... 21-Oct-2019 19:40:22 [GPUGRID] Config: excluded GPU. Type: NVIDIA. App: all. Device: 1can live with Instance 2 (BOINCdata2) 21-Oct-2019 19:40:41 [---] Starting BOINC client version 7.16.3 for windows_x86_64 21-Oct-2019 19:40:41 [---] log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 21-Oct-2019 19:40:41 [---] Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 21-Oct-2019 19:40:41 [---] Data directory: D:\BOINCdata2 21-Oct-2019 19:40:41 [---] Running under account Richard Haselgrove 21-Oct-2019 19:40:41 [---] CUDA: NVIDIA GPU 0: GeForce GTX 970 (driver version 373.06, CUDA version 8.0, compute capability 5.2, 4096MB, 3066MB available, 4087 GFLOPS peak) 21-Oct-2019 19:40:41 [---] CUDA: NVIDIA GPU 1 (not used): GeForce GTX 750 Ti (driver version 373.06, CUDA version 8.0, compute capability 5.0, 2048MB, 1875MB available, 1639 GFLOPS peak) 21-Oct-2019 19:40:41 [---] OpenCL: NVIDIA GPU 0: GeForce GTX 970 (driver version 373.06, device version OpenCL 1.2 CUDA, 4096MB, 3066MB available, 4087 GFLOPS peak) 21-Oct-2019 19:40:41 [---] OpenCL: NVIDIA GPU 1 (ignored by config): GeForce GTX 750 Ti (driver version 373.06, device version OpenCL 1.2 CUDA, 2048MB, 1875MB available, 1639 GFLOPS peak) 21-Oct-2019 19:40:41 [---] OpenCL: Intel GPU 0: Intel(R) HD Graphics 4600 (driver version 10.18.10.3621, device version OpenCL 1.2, 1298MB, 1298MB available, 192 GFLOPS peak) 21-Oct-2019 19:40:41 [---] OpenCL CPU: Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 3.0.1.10878, device version OpenCL 1.2 (Build 76413))The first instance has "use all GPUs" properly set: the second one has the line in cc_config.xml, but the value is zero. Don't ask me why CUDA is '(not used)', but OpenCL is '(ignored by config)'. So I'd say that the theory is OK, but it's fiddly to set up, and you have to get everything exactly right. |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.