CPU process for GPU folding
Posted: Wed May 03, 2023 3:40 pm
apologies that my observations are based on 7.6.21, but...
What is exactly is the nature of the FahCore_22.exe process?
My observations on 7.6.21 is that the CPU usage is about 1 core/thread, that is, example a 4-core processor, 8 logical processors, the CPU as seen in Task Manager will be about 12% (probably 12.5% for 1/8 of overall available logical processors).
the process normally shows activity on all cores. So, it would that there is one active thread that is bouncing from core to core.
The performance of modern processor/cores is highly dependent on cache hit rate of L1 and L2 cache.
Every time the thread bounces cores, it loses the benefit of L1/L2.
I would think then that affinitizing FahCore_22 to a single core (logical processor) would help.
In doing so, Task Manager shows that one core pegged high.
It is hard to get good data on this because every time one WU finishes, a new FahCore process starts with no affinity setting.
I am not inclined to modifying the FahCore binary with EditBin to hard set the affinity.
I have one old system, a Skylake Xeon E3-1245, 3.5GHz base frequency, in which the thermal paste has probably dried and I throttle the CPU power down to 60%, resulting in 2.38GHz operation to keep temp under control.
This system has a 2080 Super and GPU PPD does not seem to be affected by the forced lower CPU frequency.
How can this be if the normal operation is one thread fully pegging the core?
There does not seem to be GPU PPD difference regardless of whether the FahCore process is running with CPU constrained to different power levels (frequency as well).
So why is FahCore pegging one core if the core running at different frequencies? is it just polling the GPU? In the really old days, there were applications that did this
What is exactly is the nature of the FahCore_22.exe process?
My observations on 7.6.21 is that the CPU usage is about 1 core/thread, that is, example a 4-core processor, 8 logical processors, the CPU as seen in Task Manager will be about 12% (probably 12.5% for 1/8 of overall available logical processors).
the process normally shows activity on all cores. So, it would that there is one active thread that is bouncing from core to core.
The performance of modern processor/cores is highly dependent on cache hit rate of L1 and L2 cache.
Every time the thread bounces cores, it loses the benefit of L1/L2.
I would think then that affinitizing FahCore_22 to a single core (logical processor) would help.
In doing so, Task Manager shows that one core pegged high.
It is hard to get good data on this because every time one WU finishes, a new FahCore process starts with no affinity setting.
I am not inclined to modifying the FahCore binary with EditBin to hard set the affinity.
I have one old system, a Skylake Xeon E3-1245, 3.5GHz base frequency, in which the thermal paste has probably dried and I throttle the CPU power down to 60%, resulting in 2.38GHz operation to keep temp under control.
This system has a 2080 Super and GPU PPD does not seem to be affected by the forced lower CPU frequency.
How can this be if the normal operation is one thread fully pegging the core?
There does not seem to be GPU PPD difference regardless of whether the FahCore process is running with CPU constrained to different power levels (frequency as well).
So why is FahCore pegging one core if the core running at different frequencies? is it just polling the GPU? In the really old days, there were applications that did this