GPU different run policies?

Message boards : Number crunching : GPU different run policies?
Message board moderation

To post messages, you must log in.

1 · 2 · Next

AuthorMessage
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2007497 - Posted: 15 Aug 2019, 14:08:58 UTC

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
ID: 2007497 · Report as offensive
juan BFP Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 16 Mar 07
Posts: 9786
Credit: 572,710,851
RAC: 3,799
Panama
Message 2007507 - Posted: 15 Aug 2019, 14:34:37 UTC - in response to Message 2007497.  
Last modified: 15 Aug 2019, 14:35:23 UTC

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

You could start 2 instances of Boinc on the same host and program each one with an unique different configuration.
ID: 2007507 · Report as offensive
Lazydude
Volunteer tester

Send message
Joined: 17 Jan 01
Posts: 45
Credit: 96,158,001
RAC: 136
Sweden
Message 2007524 - Posted: 15 Aug 2019, 16:16:09 UTC - in response to Message 2007507.  

[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
ID: 2007524 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13161
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2007547 - Posted: 15 Aug 2019, 19:16:00 UTC

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)
ID: 2007547 · Report as offensive
bluestar

Send message
Joined: 5 Sep 12
Posts: 6995
Credit: 2,084,789
RAC: 3
Message 2007571 - Posted: 15 Aug 2019, 21:17:20 UTC
Last modified: 15 Aug 2019, 21:18:13 UTC

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.
ID: 2007571 · Report as offensive
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2007588 - Posted: 15 Aug 2019, 22:03:55 UTC - in response to Message 2007547.  

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
ID: 2007588 · Report as offensive
juan BFP Crowdfunding Project Donor*Special Project $75 donorSpecial Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 16 Mar 07
Posts: 9786
Credit: 572,710,851
RAC: 3,799
Panama
Message 2007590 - Posted: 15 Aug 2019, 22:08:09 UTC - in response to Message 2007588.  

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

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.
ID: 2007590 · Report as offensive
Profile Wiggo
Avatar

Send message
Joined: 24 Jan 00
Posts: 34744
Credit: 261,360,520
RAC: 489
Australia
Message 2007593 - Posted: 15 Aug 2019, 22:17:29 UTC

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.
ID: 2007593 · Report as offensive
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2007599 - Posted: 15 Aug 2019, 22:28:47 UTC - in response to Message 2007590.  

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
ID: 2007599 · Report as offensive
Gene Project Donor

Send message
Joined: 26 Apr 99
Posts: 150
Credit: 48,393,279
RAC: 118
United States
Message 2007651 - Posted: 16 Aug 2019, 4:42:12 UTC

@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.) :)
ID: 2007651 · Report as offensive
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2007670 - Posted: 16 Aug 2019, 7:26:00 UTC - in response to Message 2007651.  

I'm no help with your Windows
I 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
ID: 2007670 · Report as offensive
bluestar

Send message
Joined: 5 Sep 12
Posts: 6995
Credit: 2,084,789
RAC: 3
Message 2007734 - Posted: 16 Aug 2019, 20:32:07 UTC
Last modified: 16 Aug 2019, 20:33:15 UTC

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.
ID: 2007734 · Report as offensive
Gene Project Donor

Send message
Joined: 26 Apr 99
Posts: 150
Credit: 48,393,279
RAC: 118
United States
Message 2007819 - Posted: 17 Aug 2019, 6:17:31 UTC - in response to Message 2007670.  
Last modified: 17 Aug 2019, 6:18:16 UTC

@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;
ID: 2007819 · Report as offensive
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2016093 - Posted: 20 Oct 2019, 21:17:05 UTC

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!
ID: 2016093 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13161
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2016106 - Posted: 20 Oct 2019, 22:51:33 UTC

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)
ID: 2016106 · Report as offensive
Sleepy
Volunteer tester
Avatar

Send message
Joined: 21 May 99
Posts: 219
Credit: 98,947,784
RAC: 28,360
Italy
Message 2016135 - Posted: 21 Oct 2019, 7:01:14 UTC - in response to Message 2016106.  

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
ID: 2016135 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13161
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2016169 - Posted: 21 Oct 2019, 17:34:34 UTC - in response to Message 2016135.  
Last modified: 21 Oct 2019, 17:38:04 UTC

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)
ID: 2016169 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14649
Credit: 200,643,578
RAC: 874
United Kingdom
Message 2016175 - Posted: 21 Oct 2019, 18:13:38 UTC - in response to Message 2016169.  

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.
ID: 2016175 · Report as offensive
Profile Keith Myers Special Project $250 donor
Volunteer tester
Avatar

Send message
Joined: 29 Apr 01
Posts: 13161
Credit: 1,160,866,277
RAC: 1,873
United States
Message 2016176 - Posted: 21 Oct 2019, 18:35:41 UTC - in response to Message 2016175.  

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)
ID: 2016176 · Report as offensive
Richard Haselgrove Project Donor
Volunteer tester

Send message
Joined: 4 Jul 99
Posts: 14649
Credit: 200,643,578
RAC: 874
United Kingdom
Message 2016177 - Posted: 21 Oct 2019, 18:59:58 UTC - in response to Message 2016176.  

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: 1
can 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.
ID: 2016177 · Report as offensive
1 · 2 · Next

Message boards : Number crunching : GPU different run policies?


 
©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.