Page 1 of 3
Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 6:05 pm
by joncrane
Hey guys I just got a new laptop and I'm cranking away for the first time in years. I signed up for CPU+GPU and it's going quite well.
I'm getting about 1.1 million PPD on the GPU side and about 90-100k PPD on the CPU side and I thought that was great.
Then yesterday into early this morning I saw the CPU slot was idle (message said no WUs available) but the GPU side was going over 2 million PPD. I paused and restarted folding earlier today, and I got a CPU WU, and now my PPD on the GPU side has dropped again.
My question is, what's going on? Secondly, is there some way to adjust the relative priorities of the two slots such that I can still get 5 figures of PPD from CPU and get ~2million on the GPU side?
Note: the drop in GPU PPD is with the same WU.
Thanks!
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 7:32 pm
by Familyman_19
Perhaps when the CPU is under load your temps are increasing so the GPU begins to thermal throttle?
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 7:35 pm
by gunnarre
This is expected especially on a laptop. Cooling solutions for a gaming laptop tend to assume that either the GPU or the CPU will be working hard, but not both on the same time. If both are running at maximum capacity, you might get thermal throttling and down-clocking of the GPU and/or the CPU. Laptop CPUs also typically boost for a short duration before they drop their frequency.
The way GPU folding works is that a CPU thread keeps polling the GPU and feeding it data. If the frequency on that CPU thread falls too low, then the GPU will start waiting on the CPU and the total system PPD drops. So even a desktop system with excellent cooling can experience a PPD drop if you fold on too many CPU threads at the same time as the GPU.
What is your CPU and GPU, and how many CPU threads are you running? Maybe post the first 100 or so lines of the folding log. You might be able to maximize your folding power by just reducing the number of CPU threads you fold with - but depending on the cooling solution on your particular laptop you might find that GPU-only folding is the best.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 8:00 pm
by joncrane
Thanks guys. So first of all the laptop is a PowerSpec 1530. It's MicroCenter's in-house brand (they only have one model) and it's pretty impressive. I'm 75% sure that unlike most laptops, it does have separate cooling for the CPU and GPU, though I haven't seen an exploded view or taken it apart. Having said that, there could still be crossover in the heating department.
I do have the built in "fan speed setting" and the GPU is at ~79 and the CPU is at ~85, and both fans are running at 100%, as expected. How does one detect thermal throttling of the CPU and/or GPU?
As far as the logs, which I hope answer the question of what CPU and GPU I have,
Code: Select all
19:58:34:FS00:Unpaused
19:58:34:FS01:Unpaused
19:58:35:WU00:FS00:Starting
19:58:35:WU00:FS00:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" C:\Users\r23443\AppData\Roaming\FAHClient\cores/cores.foldingathome.org/win/64bit-avx2-256/a8-0.0.8/Core_a8.fah/FahCore_a8.exe -dir 00 -suffix 01 -version 706 -lifeline 2124 -checkpoint 15 -np 15
19:58:35:WU00:FS00:Started FahCore on PID 12136
19:58:35:WU00:FS00:Core PID:13228
19:58:35:WU00:FS00:FahCore 0xa8 started
19:58:35:WU01:FS01:Starting
19:58:35:WU01:FS01:Running FahCore: "C:\Program Files (x86)\FAHClient/FAHCoreWrapper.exe" C:\Users\fdswre\AppData\Roaming\FAHClient\cores/cores.foldingathome.org/win/64bit/22-0.0.13/Core_22.fah/FahCore_22.exe -dir 01 -suffix 01 -version 706 -lifeline 2124 -checkpoint 15 -gpu-vendor nvidia -opencl-platform 0 -opencl-device 0 -cuda-device 0 -gpu 0
19:58:35:WU01:FS01:Started FahCore on PID 9640
19:58:35:WU01:FS01:Core PID:9352
19:58:35:WU01:FS01:FahCore 0x22 started
19:58:35:WU00:FS00:0xa8:*********************** Log Started 2020-10-19T19:58:35Z ***********************
19:58:35:WU00:FS00:0xa8:************************** Gromacs Folding@home Core ***************************
19:58:35:WU00:FS00:0xa8: Core: Gromacs
19:58:35:WU00:FS00:0xa8: Type: 0xa8
19:58:35:WU00:FS00:0xa8: Version: 0.0.8
19:58:35:WU00:FS00:0xa8: Author: Joseph Coffland <joseph@cauldrondevelopment.com>
19:58:35:WU00:FS00:0xa8: Copyright: 2020 foldingathome.org
19:58:35:WU00:FS00:0xa8: Homepage: https://foldingathome.org/
19:58:35:WU00:FS00:0xa8: Date: Sep 25 2020
19:58:35:WU00:FS00:0xa8: Time: 08:28:00
19:58:35:WU00:FS00:0xa8: Revision: d4f41a5b7a748fdb0ff538746b195ca3a8075aae
19:58:35:WU00:FS00:0xa8: Branch: master
19:58:35:WU00:FS00:0xa8: Compiler: Visual C++ 2019 16.7
19:58:35:WU00:FS00:0xa8: Options: /TP /std:c++14 /nologo /EHa /wd4297 /wd4103 /O2 /Ob3
19:58:35:WU00:FS00:0xa8: /Zc:throwingNew /MT
19:58:35:WU00:FS00:0xa8: Platform: win32 10
19:58:35:WU00:FS00:0xa8: Bits: 64
19:58:35:WU00:FS00:0xa8: Mode: Release
19:58:35:WU00:FS00:0xa8: SIMD: avx2_256
19:58:35:WU00:FS00:0xa8: OpenMP: ON
19:58:35:WU00:FS00:0xa8: CUDA: OFF
19:58:35:WU00:FS00:0xa8: Args: -dir 00 -suffix 01 -version 706 -lifeline 12136 -checkpoint 15 -np
19:58:35:WU00:FS00:0xa8: 15
19:58:35:WU00:FS00:0xa8:************************************ libFAH ************************************
19:58:35:WU00:FS00:0xa8: Date: Sep 25 2020
19:58:35:WU00:FS00:0xa8: Time: 07:23:00
19:58:35:WU00:FS00:0xa8: Revision: d4f41a5b7a748fdb0ff538746b195ca3a8075aae
19:58:35:WU00:FS00:0xa8: Branch: master
19:58:35:WU00:FS00:0xa8: Compiler: Visual C++ 2019 16.7
19:58:35:WU00:FS00:0xa8: Options: /TP /std:c++14 /nologo /EHa /wd4297 /wd4103 /O2 /Ob3
19:58:35:WU00:FS00:0xa8: /Zc:throwingNew /MT
19:58:35:WU00:FS00:0xa8: Platform: win32 10
19:58:35:WU00:FS00:0xa8: Bits: 64
19:58:35:WU00:FS00:0xa8: Mode: Release
19:58:35:WU00:FS00:0xa8:************************************ CBang *************************************
19:58:35:WU00:FS00:0xa8: Date: Sep 25 2020
19:58:35:WU00:FS00:0xa8: Time: 07:22:40
19:58:35:WU00:FS00:0xa8: Revision: d4f41a5b7a748fdb0ff538746b195ca3a8075aae
19:58:35:WU00:FS00:0xa8: Branch: master
19:58:35:WU00:FS00:0xa8: Compiler: Visual C++ 2019 16.7
19:58:35:WU00:FS00:0xa8: Options: /TP /std:c++14 /nologo /EHa /wd4297 /wd4103 /O2 /Ob3
19:58:35:WU00:FS00:0xa8: /Zc:throwingNew /MT
19:58:35:WU00:FS00:0xa8: Platform: win32 10
19:58:35:WU00:FS00:0xa8: Bits: 64
19:58:35:WU00:FS00:0xa8: Mode: Release
19:58:35:WU00:FS00:0xa8:************************************ System ************************************
19:58:35:WU00:FS00:0xa8: CPU: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
19:58:35:WU00:FS00:0xa8: CPU ID: GenuineIntel Family 6 Model 165 Stepping 2
19:58:35:WU00:FS00:0xa8: CPUs: 16
19:58:35:WU00:FS00:0xa8: Memory: 31.86GiB
19:58:35:WU00:FS00:0xa8:Free Memory: 25.43GiB
19:58:35:WU00:FS00:0xa8: Threads: WINDOWS_THREADS
19:58:35:WU00:FS00:0xa8: OS Version: 6.2
19:58:35:WU00:FS00:0xa8:Has Battery: true
19:58:35:WU00:FS00:0xa8: On Battery: false
19:58:35:WU00:FS00:0xa8: UTC Offset: -6
19:58:35:WU00:FS00:0xa8: PID: 13228
19:58:35:WU00:FS00:0xa8: CWD: C:\Users\fwawer\AppData\Roaming\FAHClient\work
19:58:35:WU00:FS00:0xa8:********************************************************************************
19:58:35:WU00:FS00:0xa8:Project: 16810 (Run 89, Clone 441, Gen 69)
19:58:35:WU00:FS00:0xa8:Unit: 0x00000050b2aec48a5eff20a1795d93b3
19:58:35:WU00:FS00:0xa8:Digital signatures verified
19:58:35:WU00:FS00:0xa8:Calling: mdrun -c frame69.gro -s frame69.tpr -x frame69.xtc -cpi state.cpt -cpt 15 -nt 15 -ntmpi 1
19:58:35:WU00:FS00:0xa8:Steps: first=34500000 total=35000000
19:58:35:WU01:FS01:0x22:*********************** Log Started 2020-10-19T19:58:35Z ***********************
19:58:35:WU01:FS01:0x22:*************************** Core22 Folding@home Core ***************************
19:58:35:WU01:FS01:0x22: Core: Core22
19:58:35:WU01:FS01:0x22: Type: 0x22
19:58:35:WU01:FS01:0x22: Version: 0.0.13
19:58:35:WU01:FS01:0x22: Author: Joseph Coffland <joseph@cauldrondevelopment.com>
19:58:35:WU01:FS01:0x22: Copyright: 2020 foldingathome.org
19:58:35:WU01:FS01:0x22: Homepage: https://foldingathome.org/
19:58:35:WU01:FS01:0x22: Date: Sep 19 2020
19:58:35:WU01:FS01:0x22: Time: 02:35:58
19:58:35:WU01:FS01:0x22: Revision: 571cf95de6de2c592c7c3ed48fcfb2e33e9ea7d3
19:58:35:WU01:FS01:0x22: Branch: core22-0.0.13
19:58:35:WU01:FS01:0x22: Compiler: Visual C++ 2015
19:58:35:WU01:FS01:0x22: Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
19:58:35:WU01:FS01:0x22: -DOPENMM_GIT_HASH="\"189320d0\""
19:58:35:WU01:FS01:0x22: Platform: win32 10
19:58:35:WU01:FS01:0x22: Bits: 64
19:58:35:WU01:FS01:0x22: Mode: Release
19:58:35:WU01:FS01:0x22:Maintainers: John Chodera <john.chodera@choderalab.org> and Peter Eastman
19:58:35:WU01:FS01:0x22: <peastman@stanford.edu>
19:58:35:WU01:FS01:0x22: Args: -dir 01 -suffix 01 -version 706 -lifeline 9640 -checkpoint 15
19:58:35:WU01:FS01:0x22: -gpu-vendor nvidia -opencl-platform 0 -opencl-device 0 -cuda-device
19:58:35:WU01:FS01:0x22: 0 -gpu 0
19:58:35:WU01:FS01:0x22:************************************ libFAH ************************************
19:58:35:WU01:FS01:0x22: Date: Sep 7 2020
19:58:35:WU01:FS01:0x22: Time: 19:09:56
19:58:35:WU01:FS01:0x22: Revision: 44301ed97b996b63fe736bb8073f22209cb2b603
19:58:35:WU01:FS01:0x22: Branch: HEAD
19:58:35:WU01:FS01:0x22: Compiler: Visual C++ 2015
19:58:35:WU01:FS01:0x22: Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
19:58:35:WU01:FS01:0x22: Platform: win32 10
19:58:35:WU01:FS01:0x22: Bits: 64
19:58:35:WU01:FS01:0x22: Mode: Release
19:58:35:WU01:FS01:0x22:************************************ CBang *************************************
19:58:35:WU01:FS01:0x22: Date: Sep 7 2020
19:58:35:WU01:FS01:0x22: Time: 19:08:30
19:58:35:WU01:FS01:0x22: Revision: 33fcfc2b3ed2195a423606a264718e31e6b3903f
19:58:35:WU01:FS01:0x22: Branch: HEAD
19:58:35:WU01:FS01:0x22: Compiler: Visual C++ 2015
19:58:35:WU01:FS01:0x22: Options: /TP /nologo /EHa /wd4297 /wd4103 /O2 /Ob3 /Zc:throwingNew /MT
19:58:35:WU01:FS01:0x22: Platform: win32 10
19:58:35:WU01:FS01:0x22: Bits: 64
19:58:35:WU01:FS01:0x22: Mode: Release
19:58:35:WU01:FS01:0x22:************************************ System ************************************
19:58:35:WU01:FS01:0x22: CPU: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
19:58:35:WU01:FS01:0x22: CPU ID: GenuineIntel Family 6 Model 165 Stepping 2
19:58:35:WU01:FS01:0x22: CPUs: 16
19:58:35:WU01:FS01:0x22: Memory: 31.86GiB
19:58:35:WU01:FS01:0x22:Free Memory: 25.41GiB
19:58:35:WU01:FS01:0x22: Threads: WINDOWS_THREADS
19:58:35:WU01:FS01:0x22: OS Version: 6.2
19:58:35:WU01:FS01:0x22:Has Battery: true
19:58:35:WU01:FS01:0x22: On Battery: false
19:58:35:WU01:FS01:0x22: UTC Offset: -6
19:58:35:WU01:FS01:0x22: PID: 9352
19:58:35:WU01:FS01:0x22: CWD: C:\Users\Cfdware\AppData\Roaming\FAHClient\work
19:58:35:WU01:FS01:0x22:************************************ OpenMM ************************************
19:58:35:WU01:FS01:0x22: Revision: 189320d0
19:58:35:WU01:FS01:0x22:********************************************************************************
19:58:35:WU01:FS01:0x22:Project: 17402 (Run 0, Clone 951, Gen 23)
19:58:35:WU01:FS01:0x22:Unit: 0x0000001bcedfaa925f59be323c02db69
19:58:35:WU01:FS01:0x22:Digital signatures verified
19:58:35:WU01:FS01:0x22:Folding@home GPU Core22 Folding@home Core
19:58:35:WU01:FS01:0x22:Version 0.0.13
19:58:35:WU01:FS01:0x22: Checkpoint write interval: 25000 steps (2%) [50 total]
19:58:35:WU01:FS01:0x22: JSON viewer frame write interval: 12500 steps (1%) [100 total]
19:58:35:WU01:FS01:0x22: XTC frame write interval: 10000 steps (0.8%) [125 total]
19:58:35:WU01:FS01:0x22: Global context and integrator variables write interval: disabled
19:58:35:WU01:FS01:0x22:There are 4 platforms available.
19:58:35:WU01:FS01:0x22:Platform 0: Reference
19:58:35:WU01:FS01:0x22:Platform 1: CPU
19:58:35:WU01:FS01:0x22:Platform 2: OpenCL
19:58:35:WU01:FS01:0x22: opencl-device 0 specified
19:58:35:WU01:FS01:0x22:Platform 3: CUDA
19:58:35:WU01:FS01:0x22: cuda-device 0 specified
19:58:37:WU00:FS00:0xa8:Completed 408622 out of 500000 steps (81%)
19:58:55:WU01:FS01:0x22:Attempting to create CUDA context:
19:58:55:WU01:FS01:0x22: Configuring platform CUDA
19:59:02:WU01:FS01:0x22: Using CUDA and gpu 0
19:59:02:WU01:FS01:0x22:Completed 175000 out of 1250000 steps (14%)
19:59:06:WU00:FS00:0xa8:Completed 410000 out of 500000 steps (82%)
Please let me know what other information I can provide.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 8:18 pm
by kiore
Your GPU uses some CPU resources to fold, most GPU folders on Windows reserve at least 1 full core for this, however the CPU units don't like certain prime numbers so that needs to be adjusted for. Really on a laptop like this you may find it simpler just to CPU fold on all 8/16 cores. Laptop GPUs do not anticipate the continued high use and need for cooling that running F@H generates.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 9:18 pm
by MeeLee
Just make sure you have set at least 1 CPU core to the GPU, and one core to the OS.
It may lower your CPU PPD, but keep the GPU scores high.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 9:51 pm
by joncrane
MeeLee wrote:Just make sure you have set at least 1 CPU core to the GPU, and one core to the OS.
It may lower your CPU PPD, but keep the GPU scores high.
Great, how do I do this? I've been researching the "advanced/expert options" and I'm not finding it yet.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 10:26 pm
by joncrane
I think I figured it out. I have 16 virtual cores so I specified 14, but in the log I'm seeing
Code: Select all
22:22:37:WU01:FS00:0xa7:Reducing thread count from 14 to 13 to avoid domain decomposition with large prime factor 7
22:22:37:WU01:FS00:0xa7:Reducing thread count from 13 to 12 to avoid domain decomposition by a prime number > 3
FahCore_a7 is still using ~90% of my CPU and FahCore_22 is using 6-8, and I'm already seeing my PPD on the GPU side start to creep up again. Thanks!
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 10:59 pm
by aetch
joncrane wrote:MeeLee wrote:Just make sure you have set at least 1 CPU core to the GPU, and one core to the OS.
It may lower your CPU PPD, but keep the GPU scores high.
Great, how do I do this? I've been researching the "advanced/expert options" and I'm not finding it yet.
The FAH client should have done this by default. If you check your CPU assignment it should read "CPU:15"
Beyond that, if you go Start->Folding@Home->FAHControl to open the advanced control.
Top left the "configure" button pops out another window, you're looking for the slots tab.
The new cpu core A8 doesn't seem to have any trouble with prime numbers. It quite happily runs 23 threads on my Ryzen with the last thread given to the 2070.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 11:01 pm
by MeeLee
Yes, the disadvantage of owning a 16 core (or thread).
You could set it to 15 threads in Linux. But for Windows you'll really need more.
Also, PPD will fluctuate during folding, but also from WU to WU.
Some WUs will get half the PPD of others.
If you have an AMD CPU (like a Ryzen), make sure your CPU still hits boost frequencies, as they sometimes lower in frequency, when the load is lower.
You can also insert a second slot of 2 more threads if your primary slot is set to 12 threads.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 11:04 pm
by JimboPalmer
Welcome to Folding@Home!
You gave us a log, but not the configuration portion, so I will be guessing a great deal: Your OS, your GPU and your driver version are unknown to me, but I will make guesses.
Your paths to files looks like Windows, your GPU uses CUDA so it is so it is some recent Nvidia card.
In you task bar on the lower right will either be a F@H molecule icon or a Up Arrow ^ that when you click on it, shows a F@H molecule icon.
If you click on the icon, the second choice should be Advanced Control. Choose that.
One of the tabs should be Configure, choose that
In this pop up, one tab should Slots Choose that.
There should be a cpu item, select it, then choose Edit.
by default this is set to -1, which mean let the software decide. Your software has chosen 15. I would chose 12. (Traditionally F@H's underlying science software GROMACS has issues with prime numbers over 3 and multiples of primes over 3)
So alter the -1 to 12 and save and exit.
(You can lower the number of threads (F@H calls them CPUs) at any time but increasing the number of threads only happens with a new WU)
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Mon Oct 19, 2020 11:12 pm
by kiore
joncrane wrote:MeeLee wrote:Just make sure you have set at least 1 CPU core to the GPU, and one core to the OS.
It may lower your CPU PPD, but keep the GPU scores high.
Great, how do I do this? I've been researching the "advanced/expert options" and I'm not finding it yet.
Go to: configure > slots > CPU slot > change the number there to 12 > save.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Tue Oct 20, 2020 2:18 am
by joncrane
MeeLee wrote:Yes, the disadvantage of owning a 16 core (or thread).
You could set it to 15 threads in Linux. But for Windows you'll really need more.
Also, PPD will fluctuate during folding, but also from WU to WU.
Some WUs will get half the PPD of others.
If you have an AMD CPU (like a Ryzen), make sure your CPU still hits boost frequencies, as they sometimes lower in frequency, when the load is lower.
You can also insert a second slot of 2 more threads if your primary slot is set to 12 threads.
Thanks, this is what I ended up doing. I did set the slot with only 2 CPUs to only run when idle, though.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Tue Oct 20, 2020 6:34 am
by PantherX
joncrane wrote:...what's going on? Secondly, is there some way to adjust the relative priorities of the two slots such that I can still get 5 figures of PPD from CPU and get ~2million on the GPU side?...
In addition to what is stated above, when it comes to folding, you can use Process Lasso to lock the CPU (FahCore_a7/FahCore_a8) to certain CPUs and GPU (FahCore_21/FahCore_22) to other CPUs which aren't allocated to the CPU. This would be called CPU affinity which ensures that you can get the maximum out of your system. Keep in mind that it would generate more heat so as long as your cooling system can handle it, keep on folding!
joncrane wrote:...How does one detect thermal throttling of the CPU and/or GPU?...
For GPU, you can use GPU-Z
For CPU, you can use Core Temp
I also use AIDA64 Extreme which has a lot of details displayed as a sidebar on my system.
Re: Running CPU + GPU results in lower PPD than GPU alone?
Posted: Tue Oct 20, 2020 7:56 am
by gunnarre
JimboPalmer wrote:Your OS, your GPU and your driver version are unknown to me,
From the log and specs:
OS: Windows 10
CPU: Intel(R) Core(TM) i7-10875H CPU @ 2.30GHz
GPU: RTX 2070 Super Hybrid (Mobile)