How to ignore CPU in one BOINC instance?

Message boards : Questions and problems : How to ignore CPU in one BOINC instance?
Message board moderation

To post messages, you must log in.

AuthorMessage
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 87132 - Posted: 16 Jul 2018, 23:13:27 UTC
Last modified: 16 Jul 2018, 23:18:34 UTC

I am running two instances of BOINC 7.12.0 on an Ubuntu 16.04 machine, and wish to run only GPU jobs on one instance and only CPU jobs on the other. Also, all the jobs will be from the same project, GPUGrid, so I have to use a local mechanism to control this, I can not rely on the project settings, which would affect both instances equally.

In the cc_config.xml file for one instance, I can just set "<no_gpus>1</no_gpus>" to ignore the GPU, but how do I ignore the CPU in the other instance? I have tried " <ncpus>0</ncpus>", and it doesn't seem to affect anything.
ID: 87132 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5082
United Kingdom
Message 87133 - Posted: 17 Jul 2018, 7:54:38 UTC - in response to Message 87132.  

The normal way would be to set up different host venues on the project server, set the usage preferences there, and set the different HostIDs to use those separate preferences. Is there still a problem setting preferences at GPUGrid?
ID: 87133 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 87135 - Posted: 17 Jul 2018, 8:38:37 UTC - in response to Message 87133.  

and set the different HostIDs to use those separate preferences.

That is the problem. In my list of computers on GPUGrid, I see only my original host name/ID, not the second one, even though it is working properly. Maybe I need to do something to get it recognized?
ID: 87135 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5082
United Kingdom
Message 87136 - Posted: 17 Jul 2018, 8:50:52 UTC - in response to Message 87135.  

And GPUGrid is using such old server software that you can't search for individual task names and see what host processed them.

Looking at the host details page for one of my machines, the url is

https://www.gpugrid.net/show_host_detail.php?hostid=43404

If you could look up the hostid for the 'other' instance, and type that into the address bar, what happens?
ID: 87136 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 87138 - Posted: 17 Jul 2018, 12:49:38 UTC - in response to Message 87136.  

If you could look up the hostid for the 'other' instance, and type that into the address bar, what happens?

OK, I think it is straightened out now. I allowed all work units to finish, pulled out the GPU (it was failing), and when I rebooted and allowed new work for both BOINC instances I found that GPUGrid had assigned them two different IDs (but the same name, which is just the computer name). So I set them to different locations, and all should be good now.

Thanks for the clarification, I did not see it at first.

By the way, it appears that both instances are prefectly happy running CPU work at the same time on all the cores. So does that mean the CPU time is split between time? In practice, it won't be an issue when I assign one to the GPU, but it seems curious, and there does not appear to be any coordination between the two BOINC instances.
ID: 87138 · Report as offensive
Richard Haselgrove
Volunteer tester
Help desk expert

Send message
Joined: 5 Oct 06
Posts: 5082
United Kingdom
Message 87141 - Posted: 17 Jul 2018, 13:39:31 UTC - in response to Message 87138.  

Correct. Each BOINC instance is independent, and neither knows anything about the other. If the other one is using CPU resources, they would count as 'non-boinc' loading, and could cause this instance to stop running if your preferences were set that way (it sounds like they're not).

If both are running CPU tasks, the tasks will run slower - same as they would on any overloaded machine. You MIGHT get a small bonus - if you're running the multi-threaded tasks, they always have to pause some threads periodically so that the data can be synchronised between threads and the despatcher can work out what to do next. That makes MT tasks slightly inefficient, and the more threads are in use, the more inefficient they become: I think some people have commented on that. The app running in your second boinc instance will take advantage of those pauses, and vice-versa.
ID: 87141 · Report as offensive
mmonnin

Send message
Joined: 1 Jul 16
Posts: 146
United States
Message 87266 - Posted: 24 Jul 2018, 14:57:09 UTC

I do the same, CPU tasks on one client, GPU tasks on a separate client. I have reported the host issue at GPUGrid before and no admin responded. Be careful as GPUGrid merges them back into one host. I've come back and the entire separate location was gone. I've only been able to keep separate locations when they were attached to separate computers.

Zero % CPUs in the GUI doesn't work on the GPU client?
ID: 87266 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 87268 - Posted: 24 Jul 2018, 15:16:45 UTC - in response to Message 87266.  
Last modified: 24 Jul 2018, 15:16:58 UTC

I do the same, CPU tasks on one client, GPU tasks on a separate client. I have reported the host issue at GPUGrid before and no admin responded. Be careful as GPUGrid merges them back into one host. I've come back and the entire separate location was gone. I've only been able to keep separate locations when they were attached to separate computers.

Zero % CPUs in the GUI doesn't work on the GPU client?

I managed to get two separate IDs on two machines, but not on a third (all running Ubuntu 16.04, and all attached to GPUGrid). I have tried changing the attachment order, etc. but no go on the third machine.

Curiously, on the third machine it does not recognize the "default" location, which I set for the CPU work, but always attaches each BOINC instance to the "school" location, which is the one for GPU work.

I have not tried 0% CPUs for the GPU client in BOINC, though I do use 0% resource share on the GPUGrid project settings for the GPU location.
I am inclined to think it is a problem at GPUGrid. But there may be some magic order to get it to work, and I will try again later.
ID: 87268 · Report as offensive
Jim1348

Send message
Joined: 8 Nov 10
Posts: 310
United States
Message 87283 - Posted: 24 Jul 2018, 20:53:26 UTC
Last modified: 24 Jul 2018, 21:13:57 UTC

By the way, I had no problem setting up that machine on Einstein. It was already attached doing CPU work, and when I attached the second BOINC instance, it just automatically created a new ID, which I set to a GPU location, and all is working well.

I think they have problems on GPUGrid.

EDIT: Also, I did set "use at most 0% of the processors" on the GPU instance, as suggested by mmonnin (thanks). That may have helped Einstein to work, but it didn't do anything for GPUGrid. There are other problems there.
ID: 87283 · Report as offensive

Message boards : Questions and problems : How to ignore CPU in one BOINC instance?

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.