Multiple GPUs and CPUs?

Moderators: Site Moderators, FAHC Science Team

calxalot
Site Moderator
Posts: 1149
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: Multiple GPUs and CPUs?

Post by calxalot »

If you isolate a GPU in a group with only one cpu, then it cannot use more than one cpu.

In the future, there may be hybrid cores that can use multiple cpus and gpus on one WU.
Peter_Hucker
Posts: 308
Joined: Wed Feb 16, 2022 1:18 am

Re: Multiple GPUs and CPUs?

Post by Peter_Hucker »

So how do I tell it to do only GPU work, but allow it to take as many CPU cores as it likes to assist those, without doing CPU-only work?
calxalot
Site Moderator
Posts: 1149
Joined: Sat Dec 08, 2007 1:33 am
Location: San Francisco, CA
Contact:

Re: Multiple GPUs and CPUs?

Post by calxalot »

Peter, I recommend the following for you:

Set client to Finish

Wait for all WUs to finish and upload, and client to become paused

Open client Settings

[*] Deselect all gpus
[*] Set cpus to zero
[*] In Peers, type

/gpu1 /gpu2 /gpu3

[*] Click Add peers

Click Save

You should now see 4 "Peers"

For each /gpu peer:

[*] Click Settings gear
[*] Select ONE gpu
[*] Set cpus 1
[*] Click Save

Leave default (unnamed) group with zero resources

Click Start All

You should see all 3 /gpu groups start one gpu WU

You should not see any cpu WUs started anywhere

If a CPU WU is started in a /gpu group, I would call that a bug that you should report as a client issue

https://github.com/FoldingAtHome/fah-cl ... tet/issues

The Resource Group names are arbitrary, but must begin with "/", and contain only letters, numbers, and characters "._-" (period, underscore, hyphen)
Hou5e
Posts: 16
Joined: Tue Apr 21, 2020 10:29 am

Re: Multiple GPUs and CPUs?

Post by Hou5e »

I posted this 'How To' about setting up Resource Groups: viewtopic.php?t=39101
Please let us know if you need any help with it. :)
rbpeake
Posts: 141
Joined: Sun Jun 15, 2008 4:39 pm
Hardware configuration: Intel® Core™ 2 Duo processor E8500, dual 3.16GHz cores, 6MB L2 Cache, 1333MHz FSB (45nm); 4096MB Corsair™ XMS2 DDR2-800 RAM; 256MB eVGA™ NVIDIA® GeForce™ 8600 GT Video Card
Location: NYC Metro Area

Re: Multiple GPUs and CPUs?

Post by rbpeake »

Why is there a group showing cpus: 0 gpus:0? What is its purpose?

Thanks.
Hou5e
Posts: 16
Joined: Tue Apr 21, 2020 10:29 am

Re: Multiple GPUs and CPUs?

Post by Hou5e »

The main Resource Group (without a name) will display the log file data for all the Resource Groups. I typically leave it there like that, but you can use the main Resource Group if you want to. I like the log data labeled with which Resource Group it is in (otherwise you get :: and :/RG1:, instead of :/RG1: and :/RG2:). Also, the main Resource Group will have the Peers list to add or remove from, while the other Resource Group settings will not.
Peter_Hucker
Posts: 308
Joined: Wed Feb 16, 2022 1:18 am

Re: Multiple GPUs and CPUs?

Post by Peter_Hucker »

calxalot wrote: Thu Feb 09, 2023 9:45 amFor each /gpu peer:

[*] Click Settings gear
[*] Select ONE gpu
[*] Set cpus 1
[*] Click Save
Before I do that, please confirm....

If I set cpus 1 in there, won't that restrict the tasks to 1 gpu and 1 cpu each, as is already happening? I want to allow for a task which wants 4 cpus and 1 gpu. Or will such a task just take extra cpus?

In fact what happens on default settings when you select to use everything? If I have a 21 cpu task running and three of 1 gpu+1 cpu tasks running, then one of those three finishes and a 4 cpu+1 gpu task appears, what happens? Does the cpu just get overfilled until the next changeover, or does something stop and wait?
Joe_H
Site Admin
Posts: 7941
Joined: Tue Apr 21, 2009 4:41 pm
Hardware configuration: Mac Pro 2.8 quad 12 GB smp4
MacBook Pro 2.9 i7 8 GB smp2
Location: W. MA

Re: Multiple GPUs and CPUs?

Post by Joe_H »

The v8 client does not currently implement that the way you want, if the resource group has more than one CPU assigned it may use that for a CPU project. There is at least one reported bug in that process where a GPU project did take more CPU threads and stopped an active CPU WU from being processed.

Another way of putting it is that the v8 client is Beta, it does not fully implement everything available in v7, and it does included some new functionality for future folding cores and projects that may be processed on both CPUs and GPUs at the same time.
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
Peter_Hucker
Posts: 308
Joined: Wed Feb 16, 2022 1:18 am

Re: Multiple GPUs and CPUs?

Post by Peter_Hucker »

Scheduling can be difficult, I've used Boinc extensively and so many things go wrong.

Since a GPU is far more powerful, it makes sense it stops the CPU unit. Boinc does it the other way round and stops the GPU unit. Your way makes more sense.

You could have it so neither is stopped. The CPU won't mind being overloaded, it will share itself between all the tasks. But it may make the GPU be sat waiting half the time. So perhaps you have it the best way. Unless the CPU task can be told to please use a few less cores for the rest of the task (which may be impractical).
Post Reply