Page 1 of 1

Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 8:45 am
by prose094
I have two graphics cards installed, one is very slow a GT730 and the other is pretty fast, a GTX1080. The slower card is given ID 00 and the faster card ID 01. The slower card almost always gets assigned WUs first and only then are WUs assigned to a (mostly idle) faster card. I have tried deleting the slow card but try as I might I just cannot get the Folding software to assign WUs to the faster card in preference. Is this by design because I can chew through many more WUs if the faster card was used in preference for WU assignment?

I cannot switch the physical slots used by the cards on the motherboard due to physical limitations. I have tried to delete the slower card but no matter which Slot I delete the slower card always remains. My log is below in case that is of value. I only use the GPUs, not the CPU. TIA!

Code: Select all

*********************** Log Started 2020-04-17T08:15:23Z ***********************
08:15:23:************************* Folding@home Client *************************
08:15:23:        Website: https://foldingathome.org/
08:15:23:      Copyright: (c) 2009-2018 foldingathome.org
08:15:23:         Author: Joseph Coffland <joseph@cauldrondevelopment.com>
08:15:23:           Args: 
08:15:23:         Config: C:\Users\peter\AppData\Roaming\FAHClient\config.xml
08:15:23:******************************** Build ********************************
08:15:23:        Version: 7.5.1
08:15:23:           Date: May 11 2018
08:15:23:           Time: 13:06:32
08:15:23:     Repository: Git
08:15:23:       Revision: 4705bf53c635f88b8fe85af7675557e15d491ff0
08:15:23:         Branch: master
08:15:23:       Compiler: Visual C++ 2008
08:15:23:        Options: /TP /nologo /EHa /wd4297 /wd4103 /Ox /MT
08:15:23:       Platform: win32 10
08:15:23:           Bits: 32
08:15:23:           Mode: Release
08:15:23:******************************* System ********************************
08:15:23:            CPU: AMD Ryzen 7 2700X Eight-Core Processor
08:15:23:         CPU ID: AuthenticAMD Family 23 Model 8 Stepping 2
08:15:23:           CPUs: 16
08:15:23:         Memory: 15.94GiB
08:15:23:    Free Memory: 12.03GiB
08:15:23:        Threads: WINDOWS_THREADS
08:15:23:     OS Version: 6.2
08:15:23:    Has Battery: false
08:15:23:     On Battery: false
08:15:23:     UTC Offset: 1
08:15:23:            PID: 16084
08:15:23:            CWD: C:\Users\XX\AppData\Roaming\FAHClient
08:15:23:             OS: Windows 10 Enterprise
08:15:23:        OS Arch: AMD64
08:15:23:           GPUs: 2
08:15:23:          GPU 0: Bus:6 Slot:0 Func:0 NVIDIA:3 GK208 [GeForce GT 730]
08:15:23:          GPU 1: Bus:7 Slot:0 Func:0 NVIDIA:8 GP104 [GeForce GTX 1080] 8873
08:15:23:  CUDA Device 0: Platform:0 Device:0 Bus:7 Slot:0 Compute:6.1 Driver:10.1
08:15:23:  CUDA Device 1: Platform:0 Device:1 Bus:6 Slot:0 Compute:3.5 Driver:10.1
08:15:23:OpenCL Device 0: Platform:0 Device:0 Bus:7 Slot:0 Compute:1.2 Driver:436.30
08:15:23:OpenCL Device 1: Platform:0 Device:1 Bus:6 Slot:0 Compute:1.2 Driver:436.30
08:15:23:  Win32 Service: false
08:15:23:***********************************************************************
08:15:23:<config>
08:15:23:  <!-- Folding Core -->
08:15:23:  <core-priority v='low'/>
08:15:23:
08:15:23:  <!-- Network -->
08:15:23:  <proxy v=':8080'/>
08:15:23:
08:15:23:  <!-- Slot Control -->
08:15:23:  <power v='full'/>
08:15:23:
08:15:23:  <!-- User Information -->
08:15:23:  <passkey v='********************************'/>
08:15:23:  <user v='prose094'/>
08:15:23:
08:15:23:  <!-- Folding Slots -->
08:15:23:  <slot id='0' type='GPU'/>
08:15:23:  <slot id='1' type='GPU'/>
08:15:23:</config>
08:15:23:Trying to access database...
08:15:23:Successfully acquired database lock
08:15:23:Enabled folding slot 00: READY gpu:0:GK208 [GeForce GT 730]
08:15:23:Enabled folding slot 01: READY gpu:1:GP104 [GeForce GTX 1080] 8873
08:15:23:WU01:FS00:Starting
08:15:23:WU01:FS00:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" C:\Users\XX\AppData\Roaming\FAHClient\cores/cores.foldingathome.org/v7/win/64bit/Core_22.fah/FahCore_22.exe -dir 01 -suffix 01 -version 705 -lifeline 16084 -checkpoint 15 -gpu-vendor nvidia -opencl-platform 0 -opencl-device 1 -cuda-device 1 -gpu 1
08:15:23:WU01:FS00:Started FahCore on PID 15852
08:15:23:WU01:FS00:Core PID:1840
08:15:23:WU01:FS00:FahCore 0x22 started

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 12:28 pm
by PantherX
Welcome to the F@H Forum prose094,

Please note that if your original intention is to fold on both GPUs, then your configuration is correct. There's nothing else that you need to do except leave the client running for it to fold WUs.

Regarding the GPU WU availability, currently, there's a massive demand for GPU WUs but the supply hasn't kept up. Work is being done to eliminate this issue. However, do note that since your GPUs are of different archeture, there WUs being assigned to them are the best fit, i.e. some WUs got GT730 may not be assigned to GTX 1080 and vice-versa.

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 4:49 pm
by HaloJones
If you just want the 1080,
pause the client,
on the slots in FahControl delete one of the GPU slots.
Then configure the client,
select slots,
highlight the remaining gpu slot and click edit.
Set the gpu-index to 1 and the opencl-index to 1 and the cuda-index to 1.
Then re-start the computer and see if it now only sees the 1080.
It should.

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 5:00 pm
by prose094
Thank-you both. I was not aware that there are different WUs suited to different types of cards so I am quite happy to keep both cards on 24x7 offer to F@H so that what ever work needs to be done can be.

Appreciate the replies!

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 5:04 pm
by HaloJones
FWIW, the 1080 will produce a vast quanity of science compared to the 730 so if you are concerned that it's not getting enough work but the 730 is always busy I would recommend setting only the 1080 to fold as I detailed above. Try it, it can't hurt.

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 6:03 pm
by bruce
I have the same issue.

GPUs: 2
GPU 0: Bus:3 Slot:0 Func:0 NVIDIA:3 GK107 [GeForce GT 740]
GPU 1: Bus:4 Slot:0 Func:0 NVIDIA:5 GM206 [GeForce GTX 960]
CUDA Device 0: Platform:0 Device:0 Bus:4 Slot:0 Compute:5.2 Driver:10.2
CUDA Device 1: Platform:0 Device:1 Bus:3 Slot:0 Compute:3.0 Driver:10.2
OpenCL Device 0: Platform:0 Device:0 Bus:4 Slot:0 Compute:1.2 Driver:442.19
OpenCL Device 1: Platform:0 Device:1 Bus:3 Slot:0 Compute:1.2 Driver:442.19

GPU:1 is significantly faster than GPU:0. For the last couple of days, the 740 has been folding and the 960 has been failing to get work assigned. I obviously could make the recommended changes. I have a few questions that I may figure out the answers to while I'm adjusting things.
1) I presume that the GPU that's driving my monitor is detected first when FAH initially set up the configuration. Right?
2) If I assign new index values to point to 1 can I add back in the slower GPU and set it's index values to 0?

It may also be a problem of my perception. Once my slower GPU had been assigned a rather large WU and the faster GPU was idle, it seemed like a long time, but that's probably because that same WU took a long time to finish.

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 6:23 pm
by HaloJones
@Bruce,

If you just want the 960,
pause the client,
on the slots in FahControl delete one of the GPU slots.
Then configure the client,
select slots,
highlight the remaining gpu slot and click edit.
Set the gpu-index to 1 and the opencl-index to 0 and the cuda-index to 0.
Then re-start the computer and see if it now only sees the 960.
It should. The CUDA and OpenCL device 0 is the 960. But the 960 is GPU1.

Re: Two GPU cards - how to set card priority?

Posted: Fri Apr 17, 2020 8:37 pm
by HaloJones
bruce wrote:I have a few questions that I may figure out the answers to while I'm adjusting things.
1) I presume that the GPU that's driving my monitor is detected first when FAH initially set up the configuration. Right?
2) If I assign new index values to point to 1 can I add back in the slower GPU and set it's index values to 0?
1) Assuming both cards are capable of folding, my own experience of multi-gpu machines says GPU0 will be the card driving the display. I can't say that is a fact.
2) That would simply re-enable the weaker card and the client would be back to how it was. Yes, you could do that but what's the point?

Re: Two GPU cards - how to set card priority?

Posted: Sat Apr 18, 2020 1:36 am
by Rel25917
In most cases I would assume gpu 0 to be the card in the first pcie slot then 1 in the next slot and so on, I would also assume most people run the monitor off the first card but you never know. Windows will of course be windows and sometimes get thing out of order just to be dumb.

Re: Two GPU cards - how to set card priority?

Posted: Sat Apr 18, 2020 6:20 pm
by Joe_H
Yes, Windows GPU enumeration is at best arcane. The expected GPU:0 to be associated with the first PCIe slot often is not the case.

There have been a number of reports over the years of driver updates on Windows changing the GPU index numbers on multiple card systems.