Page 2 of 2

Re: Intel UHD Graphics? (gen >= 7)

Posted: Thu Jan 28, 2021 6:42 pm
by bruce
Generally speaking, running FAH on a gen <=6 Intel GPU would be non-productive. It adds enough estra heat for the CPU to throttle enough to reduce total throughput. Of course that's assuming your running only FAH on both devices with stock cooling. YMMV.

That also assumes that the Gen 6 OpenCL drivers work correctly with FAH, which may not be true.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Tue Feb 09, 2021 7:55 am
by void
I strongly suggest adding support for Gen8.

Example: I have I7-9700K with Gen9 1200 MHz and I5-5200U with Gen8 900 MHz, both have 24 EU. Win10 20H2, distributed[.]net OpenCL benchmark:
Gen9 - 194 Mkps, Gen8 - 169 Mkps. What is even more important, Gen8 driver (15.40.48.5171 is the latest at the moment) does NOT consume whole CPU core to feed iGPU - unlike Gen9 drivers. You can guest which system is more efficient.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 5:15 pm
by void
void wrote:Can someone please look into implementing similar logic for Folding@home (optional CPU sleeps)? It makes a lot of sense for low-end (i)GPUs.
I'm not a developer so excuse me for asking stupid questions.

I think a little guidance is needed for who that "someone" might be.

Are those recommended changes in (a) the driver package, (b) in OpenCL, (c) in the code of FAHCore and/or FAHClient?

Unless it's option (c), FAH is not in a position to make those changes or to evaluate any potential for unforeseen effects to other code.

There have been other discussions of CPU sleeps vs. spin-waits but those decisions have been left up to the hardware vendor in their driver packages.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 7:30 pm
by bruce
void wrote:I strongly suggest adding support for Gen8.

Example: I have I7-9700K with Gen9 1200 MHz and I5-5200U with Gen8 900 MHz, both have 24 EU. Win10 20H2, distributed[.]net OpenCL benchmark:
Gen9 - 194 Mkps, Gen8 - 169 Mkps. What is even more important, Gen8 driver (15.40.48.5171 is the latest at the moment) does NOT consume whole CPU core to feed iGPU - unlike Gen9 drivers. You can guest which system is more efficient.
The I7-9700K is not an iGP, although it logically contains one. We do support several variations of UHD Graphics 630. Please run lspci and report the device IDs for your iGPU.

Our support for CPUs is treated differently that our support for GPUs. Our support for GPUs depends on the specific device (and its driver) and uses the lspci codes to identify it.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 7:43 pm
by void
bruce wrote:
void wrote:I strongly suggest adding support for Gen8.

Example: I have I7-9700K with Gen9 1200 MHz and I5-5200U with Gen8 900 MHz, both have 24 EU. Win10 20H2, distributed[.]net OpenCL benchmark:
Gen9 - 194 Mkps, Gen8 - 169 Mkps. What is even more important, Gen8 driver (15.40.48.5171 is the latest at the moment) does NOT consume whole CPU core to feed iGPU - unlike Gen9 drivers. You can guest which system is more efficient.
The I7-9700K is not an iGP, although it contains one.
Thats what I said.
bruce wrote:We do support several variations of UHD Graphics 630. Please run lspci and report the device IDs for your iGPU.
Mmm. This system runs Windows 10, the output from Device Manager: PCI\VEN_8086&DEV_3E98&SUBSYS_7B981462&REV_00

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 7:52 pm
by void
void wrote:
void wrote:Can someone please look into implementing similar logic for Folding@home (optional CPU sleeps)? It makes a lot of sense for low-end (i)GPUs.
I'm not a developer so excuse me for asking stupid questions.

I think a little guidance is needed for who that "someone" might be.

Are those recommended changes in (a) the driver package, (b) in OpenCL, (c) in the code of FAHCore and/or FAHClient?
"a"/"b" are slightly more efficient than "c" as I have proved in my work for distributed.net (but it only took several hours, further optimizations are possible).
void wrote:Unless it's option (c), FAH is not in a position to make those changes or to evaluate any potential for unforeseen effects to other code.
It is exactly the option I propose.
void wrote:There have been other discussions of CPU sleeps vs. spin-waits but those decisions have been left up to the hardware vendor in their driver packages.
There is no need to wait for vendor, it could take forever. But you are welcome to ping Intel, NVidia etc.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 7:58 pm
by bruce
0x8086:0x3e98:3:1:CFL GT2 [UHD Graphics 630]
is already supported.

I didn't recheck my sources, but gen8 probably applies to the CPU device while the GPU device remains at Gen7.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 9:06 pm
by Joe_H
The iGPU in an Intel i7-0700K is already considered to be a Gen9 GPU. The confusion may come from the gen numbers of the CPU and iGPU not being the same for many of the Intel processors. The i7-9700K is considered to be an 8th generation Core i processor chip, but the HD Graphics 630 is a 9th generation iGPU from Intel.

The tables from this wikipedia article outline which iGPUs belongs to the various Gen's of graphics processors Intel has provided - https://en.wikipedia.org/wiki/List_of_I ... sing_units.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Feb 24, 2021 9:23 pm
by void
bruce wrote:0x8086:0x3e98:3:1:CFL GT2 [UHD Graphics 630]
is already supported.
Have you even read what I wrote? i7-9700K with UHD Graphics 630 (which is gen9 iGPU) works but wastes logical CPU to feed iGPU. i5-5200U with HD Graphics 5500 (which is gen8 iGPU) is not supported in Folding@home but works e. g. with distributed.net and does NOT consume logical CPU.

With my proposed patch for distributed.net client any GPU can be feed w/o wasting logical CPU (and a lot of energy, especially if CPU does not support hyperthreading).
bruce wrote:I didn't recheck my sources, but gen8 probably applies to the CPU device while the GPU device remains at Gen7.
https://en.wikipedia.org/wiki/Intel_Graphics_Technology

Re: Intel UHD Graphics? (gen >= 7)

Posted: Tue Apr 27, 2021 9:00 pm
by toTOW
Did you post your patch to the OpenMM developers : https://github.com/openmm/openmm/issues ?

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Apr 28, 2021 3:09 am
by bruce
The so-called "wasted" CPU is a default setting that takes place during the initialization of FAHClient. You can override that default configuration setting by making your own adjustments to whatever settings you prefer using FAHControl.

Suppose you have an I7-9700K CPU which has 8 threads and you prefer to run one GPU. When FAHClient initializes, it will create two slots, one for the CPU using 7 threads and one for the GPU, leaving one unallocated CPU thread. it's up to you to adjust the number of CPU threads allocated to the CPU slot, depending on your impression of what produces the best use of the CPU's resources. If the GPU works best with 8 allocated CPU threads, fine. If it's better with 1 or more unallocated threads, that's fine, too. FAH can only guess what overall production workload will be processed by your system.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Apr 28, 2021 11:11 am
by gunnarre
If I understand correctly, what we're talking about here isn't CPU folding but updating OpenMM from using active wait states which occupies a CPU thread for GPU polling in these Intel IGPUs, and instead use a more efficient way which uses less CPU to feed the IGPU compute. Whether that frees up CPU cycles to do CPU folding in addition, or just uses less power for IGPU folding, would be up for testing after the first goal has been achieved.

Re: Intel UHD Graphics? (gen >= 7)

Posted: Wed Apr 28, 2021 3:43 pm
by Joe_H
And in any case the person was posting based on their experience with distributed.net and its calculations. Those are all integer operations unlike F@h, and do not require continuous transfers of data to and from the iGPU.

The posts on this were 2 months ago, and the poster was last on about 2 weeks ago. They may or may not respond.