Add Intel Iris GPUs to GPUs.txt?

Post requests to add new GPUs to the official whitelist here.

Moderators: Site Moderators, FAHC Science Team

kjn-void
Posts: 2
Joined: Thu May 07, 2020 3:45 pm

Add Intel Iris GPUs to GPUs.txt?

Post by kjn-void »

The F@G client seem to have, at least partial, support for using Intel iGPUs. I noticed that adding a "3" in the third column in CPUs.txt will pass the switch "-gpu-vendor intel" to the FAHCoreWrapper.

Adding an entry matching the PCI-vendor and PCI-device ID of the Intel GPU in NUCs fitted with Iris Graphics is enough start processing WU on the GPU.

Output from a i7-8559U fitted Bean Canyon NUC

Code: Select all

$ FAHClient --lspci
VendorID:DeviceID:PCI Bus:PCI Slot:PCI function:Vendor Name:Description
0x8086:0x3ed0:0:0:0:Intel Corporation:
[b]0x8086:0x3ea5:0:2:0:Intel Corporation:
[/b]0x8086:0x1911:0:8:0:Intel Corporation:
0x8086:0x9df9:0:18:0:Intel Corporation:
0x8086:0x9ded:0:20:0:Intel Corporation:
0x8086:0x9def:0:20:2:Intel Corporation:
0x8086:0x9df0:0:20:3:Intel Corporation:
0x8086:0x9de0:0:22:0:Intel Corporation:
0x8086:0x9dd3:0:23:0:Intel Corporation:
0x8086:0x9db8:0:28:0:Intel Corporation:
0x8086:0x9dbc:0:28:4:Intel Corporation:
0x8086:0x9db0:0:29:0:Intel Corporation:
0x8086:0x9db6:0:29:6:Intel Corporation:
0x8086:0x9d84:0:31:0:Intel Corporation:
0x8086:0x9dc8:0:31:3:Intel Corporation:
0x8086:0x9da3:0:31:4:Intel Corporation:
0x8086:0x9da4:0:31:5:Intel Corporation:
0x8086:0x15be:0:31:6:Intel Corporation:
0x10ec:0x522a:110:0:0:Realtek Semiconductor Co., Ltd.:

Code: Select all

$ lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ed0] (rev 08)
[b]00:02.0 VGA compatible controller [0300]: Intel Corporation Device [8086:3ea5] (rev 01)[/b]
...
Adding this to the local CPUs.txt file

Code: Select all

0x8086:0x3ea5:3:0:[Iris Plus Graphics 655]
is enough to things going.
Image

I've tested the above for a total of three Intel iGPUs

The others are

Iris Graphics Pro 580 (i7-6770)

Code: Select all

0x8086:0x193b:3:0:[Iris Pro Graphics 580]
Iris Graphics 540 (i7-6550U)

Code: Select all

0x8086:0x1926:3:0:[Iris Graphics 540]
The first two machines run Ubuntu 18.04 and using the Intel NEO driver, version 19.36.14103. The last machine is a Surface Pro 4 running Windows 10 and whatever driver is installed automatically. Performance on Windows is a lot worse, way more so than the theoretical performance difference of Iris Graphics 540. But it is still fast enough to complete the VU in time, projected ETA is about 13 hours for the current VU (limit is 4.7 days).

I'm not sure what the 4th column represent in CPUs.txt, I just set to "0" and it seems to work...

TL;DR Can this be added to CPUs.txt to support the above iGPUs?

Code: Select all

0x8086:0x1926:3:0:[Iris Graphics 540]
0x8086:0x193b:3:0:[Iris Pro Graphics 580]
0x8086:0x3ea5:3:0:[Iris Plus Graphics 655]
Joe_H
Site Admin
Posts: 7939
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: Add Intel Iris GPUs to GPUs.txt?

Post by Joe_H »

Currently folding on Intel graphics is not supported for F@h. There is no GPU folding core available to be used on them. If this changes in the future, then they will be added to the GPUs.txt file.

Adding entries to your local copy of the GPUs.txt file will not enable GPU folding, the copy on the servers determines that.

As for the WU shown, that is from a CPU project, not one for a GPU. However the client added the slot, it is being used for CPU folding and not on your GPU.
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
kjn-void
Posts: 2
Joined: Thu May 07, 2020 3:45 pm

Re: Add Intel Iris GPUs to GPUs.txt?

Post by kjn-void »

I see, not entirely obvious from the logs though.

Here is what the client prints

Code: Select all

17:51:44:WU01:FS01:Running FahCore: /usr/bin/FAHCoreWrapper /home/kjonsson/Downloads/fah/cores/cores.foldingathome.org/v7/lin/64bit/avx/Core_a7.fah/FahCore_a7 -dir 01 -suffix 01 -version 706 -lifeline 23157 -checkpoint 15 -gpu-vendor intel -opencl-platform 0 -opencl-device 0 -gpu 0

There is only one working OpenCL implementation on this machine, that one does match the platform, device and GPU id above (that is the Intel NEO driver).

However, I see what you mean when I found this...

Code: Select all

$ tree cores/
cores/
└── cores.foldingathome.org
    └── v7
        └── lin
            └── 64bit
                └── avx
                    └── Core_a7.fah
                        └── FahCore_a7
The a7 core seems to be the CPU-one...

This is what I guess I should see if it worked, this machine has a Nvidia GPU

Code: Select all

$ tree cores/
cores/
└── cores.foldingathome.org
    └── v7
        └── lin
            └── 64bit
                ├── avx
                │   └── Core_a7.fah
                │       └── FahCore_a7
                └── Core_22.fah
                    └── FahCore_22
Joe_H
Site Admin
Posts: 7939
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: Add Intel Iris GPUs to GPUs.txt?

Post by Joe_H »

Would have to see more of the log to see how the client ended up configured, but that one excerpt does show the A7 core for CPU folding being started.

Core_A7 - CPU
Core_21 - GPU
Core_22 - GPU
Image

iMac 2.8 i7 12 GB smp8, Mac Pro 2.8 quad 12 GB smp6
MacBook Pro 2.9 i7 8 GB smp3
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Add Intel Iris GPUs to GPUs.txt?

Post by bruce »

1) Intel GPUs are NOT supported.
2) Local edits to GPUs.txt are not accepted. The FAH server maintains the authorized version Your local copy is simply a cached copy to enable FAHClient to do it's configuration steps without repeated references to the master copy.

The project you're running uses FAHCore_a7 which uses the CPU resources, not GPU resources. Again, the use of an Intel GPU is not supported by FAH. All you've done is confused the Client into misleading you into thinking you can.

The AVX instruction set is a part of the CPU hardware, not a part of the (unsupported) GPU hardware. On somebody else's hardware, it might contain an entry for 64bit-sse2 since that's an appropriate place to put an alternative CPU FAHCore.

Remove the GPU slot as it's non-functional.
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Add Intel Iris GPUs to GPUs.txt?

Post by bruce »

They're been changing the file tree naming, but on mine, under 64bit I see AVX, but I also see NVIDIA and presumably there might also be an entry for AMD or ATI and maybe something for Intel if the intel GPU is ever supported. Inside of NVIDIA, I see FAHCore_21 which is inconsistent of seeing FAHCore_22 at the same level. Maybe FAHCore_22 is expected to provide universal for any GPU hardware instead of needing separate FAHCores compiled by Device.
paulmd199
Posts: 35
Joined: Wed Apr 01, 2020 4:41 am
Hardware configuration: Machine 1: Gigabyte Z160MX-Gaming 5, Core i5-6500, eVGA 600 W PSU, thermaltake water 3.0120 cooling, 16GB DDR4, GPU 0: GT1030, GPU 1: GTX1050 Ti, GPU 2: GTX1660

Machine 2: Core i3 laptop (dell inspiron 1464)

Retired/spare: GT 750
Unusable: Intel HD 530

Re: Add Intel Iris GPUs to GPUs.txt?

Post by paulmd199 »

I would love to see what the task manager says when you try to fold with the Intel under Windows 10. The GPU columns (you may have to enable that column) on the process tab and the performance tab for the GPUs.
VA1DER
Posts: 3
Joined: Sun Jan 12, 2020 9:33 am

Re: Add Intel Iris GPUs to GPUs.txt?

Post by VA1DER »

I've heard every reason under the sun why Intel HD GPUs are not allowed. Everything from poor OpenCL to them being too slow. The fact of the matter is, the FaH benchmark, which uses a slightly modified core 21 that doesn't follow the whitelist table, will happily use OpenCL to fold on an Intel GPU. It works fine and is quite stable. Intel integrated GPUs are perfectly well suited to this work, if not terribly fast. I get performance from my current-ish Intel HD 930 at about half of that of the NVIDIA GTX 960M in a two year old laptop which is happily folding away downstairs as I write this. Lots of people with older laptops relegate them to FaH and their contributions are universally welcomed (and useful). I see no difference between those people and users with modern Intel GPUs, except to say there are a whole lot more of the latter.
paulmd199
Posts: 35
Joined: Wed Apr 01, 2020 4:41 am
Hardware configuration: Machine 1: Gigabyte Z160MX-Gaming 5, Core i5-6500, eVGA 600 W PSU, thermaltake water 3.0120 cooling, 16GB DDR4, GPU 0: GT1030, GPU 1: GTX1050 Ti, GPU 2: GTX1660

Machine 2: Core i3 laptop (dell inspiron 1464)

Retired/spare: GT 750
Unusable: Intel HD 530

Re: Add Intel Iris GPUs to GPUs.txt?

Post by paulmd199 »

I know for instance that my Intel HD 530 should be capable of 100.8 GFLOPS at double precision. Puts it on par with many low to mid range nvidia cards. There is a lot of power just going unused. :/
PantherX
Site Moderator
Posts: 6986
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Add Intel Iris GPUs to GPUs.txt?

Post by PantherX »

Unfortunately, FahCore_21 is not longer in "production" as the scientific requirements can't be met so FahCore_22 is in production with all the scientific features that the researchers need. FahCore_21 isn't deprecated officially speaking as a researcher may want to have a follow-up on their existing research and would tend to use FahCore_21 if they started their research on it. The tend is to stick with what FahCore their project has started to ensure that the results are scientifically valid. It is very rare for a researcher to migrate from FahCore_X to FahCore_Y and would be done if the scientific advancements outweigh the disadvantages.
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
MeeLee
Posts: 1339
Joined: Tue Feb 19, 2019 10:16 pm

Re: Add Intel Iris GPUs to GPUs.txt?

Post by MeeLee »

paulmd199 wrote:I know for instance that my Intel HD 530 should be capable of 100.8 GFLOPS at double precision. Puts it on par with many low to mid range nvidia cards. There is a lot of power just going unused. :/
100Gflops is about what my Intel Pentium Gold G5400 and Intel Celeron G4900 have.
But 100Gflops vs 10Tflops on the mid-high range of GPUs, is like you'll need 100 of these IGPs to keep up with 1 RTX 2070 Super / RTX 2080.
Even at 35W per laptop, that'll be 3,5kW of power to crunch through the same amount of data a simple 350W PC can do.
VA1DER
Posts: 3
Joined: Sun Jan 12, 2020 9:33 am

Re: Add Intel Iris GPUs to GPUs.txt?

Post by VA1DER »

PantherX wrote:Unfortunately, FahCore_21 is not longer in "production"
My point was that there is no code changes, library irregularities, or really significant issues of any kind that are preventing the use of Intel GPUs. They have been easily and trivially supported since at least core 21 and Intel's OpenCL librariries are not really problematic. Inel GPU's are quite easily taken advantage of. If there are other reasons why they are not utilized, say, for example, that there are not enough work units to go around, or because using Intel GPUs and CPUs together introduces more thermal issues than they care to deal with then fine. Fair enough. But they need to stop telling people it's because there are problems supporting Intel GPUs, because this is demonstrably not the case.
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Add Intel Iris GPUs to GPUs.txt?

Post by bruce »

FAHCores cannot use 100.8 GFLOPS at double precision (FP64). They're more likely to use 10 GFLOPS at FP64 and 120 at FP32. It was written for either FP64 or FP32 and the actual FAHCore uses "Mixed precision" At the present time it's difficult to measure that with FAHBench. I don't know how the Intel iGPU will respond to Mixed Precision so I can't make a logical comparison with ANY low-end nVidia or AMD GPU.

I have little doubt that some of the GPUs that are supported are as slow as Intel's GPUs ... and there are certainly a lot of unused Intel GPUs. Unfortunately MeeLee makes a poor comparison when he uses his RTX2070 S for a comparison.

Realistically, just how useful is my GT710 (if that's a more realistic comparison)? ... or 100 of them?

Yes, I do actually have a GT710LP in one of my computers but I almost never let it download a WU. I recognize that if it starts on a WU, it will probably be able to complete it just before the Final Deadline. As soon as it passes the Timeout, a duplicate WU will be issued ... which will be picked up by a faster GPU and will be completed before my efforts can be completed or used. The project will move on to the next Gen and my work will simply be discarded as an unnecessarily duplication of effort ... meanwhile I will have delayed that trajectory by the wait for the Timeout clock to expire so the server could assume the WU is lost an issue a duplicate WU.

To make use of a multitude of slow GPUs requires a major restructuring of how FAH projects are structured. The only projects which are not urgent are assigned to CPUs and with the advent of affordable CPUs with massive numbers of threads, even those projects can be expected to be completed promptly.
paulmd199
Posts: 35
Joined: Wed Apr 01, 2020 4:41 am
Hardware configuration: Machine 1: Gigabyte Z160MX-Gaming 5, Core i5-6500, eVGA 600 W PSU, thermaltake water 3.0120 cooling, 16GB DDR4, GPU 0: GT1030, GPU 1: GTX1050 Ti, GPU 2: GTX1660

Machine 2: Core i3 laptop (dell inspiron 1464)

Retired/spare: GT 750
Unusable: Intel HD 530

Re: Add Intel Iris GPUs to GPUs.txt?

Post by paulmd199 »

100.8 GFLOPS at double
403.2 GFLOPS at single precision
808.4 at half precision (16 bit)

I suppose the overall performance would depend on the ratio of doubles to floats. It would be a weighted average and probably dependent on the actual project.
MeeLee
Posts: 1339
Joined: Tue Feb 19, 2019 10:16 pm

Re: Add Intel Iris GPUs to GPUs.txt?

Post by MeeLee »

The new 10th gen IGPs supposedly ran 1Tflops (probably at 8 or 16 bit).
They're considerably faster than my Celeron or Pentium Gold (7th/8th gen).
bruce wrote:...
I have little doubt that some of the GPUs that are supported are as slow as Intel's GPUs ... and there are certainly a lot of unused Intel GPUs. Unfortunately MeeLee makes a poor comparison when he uses his RTX2070 S for a comparison.

...
I don't think it's a poor comparison, if you look at power consumption.
It makes no sense to get data, while wasting valuable energy resources.
Especially if (in a scenario where one would run 100 units, paying $3,5k of electricity by the end of the year), could do the same thing for a mere $350, and instead do the calculation, and spend the $2,5k in system upgrades instead; which will increase the amount of work done by a multitude, and probably increase wattage and electric cost closer to $1000 a year.

Jensen Huang said in his keynote: "The more you spend, the more you save".
Post Reply