Message boards : GPUs : Request for Intel iGPU support to be a working feature again.
Message board moderation
Author | Message |
---|---|
Send message Joined: 4 Mar 09 Posts: 39 |
Hey, it's been months now since BOINC could ever see the iGPU in my i5 8400, and talking with other users I'm far from alone here. It's just a shame to waste the iGPU's unit crunching power. It sits there idle, month after month, while my CPU and Radeon do all the work... BOINC version 7.14.2 Windows 10 Version 10.0.17763 Build 17763 "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 29 Aug 05 Posts: 15551 |
Rule of thumb is never to use Windows Update for driver updates for GPGPU things. It may be fine for gaming, but general purpose GPU requires additional packages that Microsoft may not provide via Windows Update, because they are open source, because they clash with their own versions of it, or whatever their reason is. So always use the drivers from the GPU manufacturer's page. In this case Intel: https://downloadcenter.intel.com/product/80939/Graphics-Drivers |
Send message Joined: 27 Jun 08 Posts: 641 |
Hey, it's been months now since BOINC could ever see the iGPU in my i5 8400, and talking with other users I'm far from alone here. It's just a shame to waste the iGPU's unit crunching power. It sits there idle, month after month, while my CPU and Radeon do all the work... BOINC only sees what the OpenCL says is there. I ran intel's OpenCL on i5--6300U for a year and a half, right up to the time the overheating caused the LCD screen to pop out. I am sticking with open frame if I cant get a desktop to run cool and will never use a laptop again. I think their tools are here but I personally cant get the ubuntu version to work but then I have 18.04 and they clearly state only 16.04 works (Debian) |
Send message Joined: 4 Mar 09 Posts: 39 |
Those Intel supplied drivers no longer install in Windows 10. I could manually do so, but wouldn't it be better and safer for BOINC to support this new reality, rather than require manual graphics driver installation? Oh, and the updated iGPU drivers install automatically via Windows Update. So there's that, too. "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 29 Aug 05 Posts: 15551 |
...but wouldn't it be better and safer for BOINC to support this new reality, rather than require manual graphics driver installation??? How would BOINC be able to detect your GPU without drivers? Do you know what drivers are? They are pieces of software that help the hardware talk to the operating system and vice versa. Without drivers, your Windows wouldn't even know there was a GPU there. And you want that built into BOINC? Aside from proprietary problems, do you know how big this would make the BOINC installer? Given that a bit of AMD and Nvidia driver is already 350-450 MB big, Intel drivers are in that category as well. That makes the BOINC installer well over a gigabyte in size. Who's going to download that? And even then, that requires several reboots, 1 per driver installation. I don't think many people will use the software then. It's not just one dynamic linked library that's needed here, the library has to be known to the operating system as well before BOINC can work with it. Therefore you need the whole driver package. And those can best be gotten from the manufacturer of the GPU. That's because Microsoft will drop things like CUDA, OpenCL, Vulkan, Metal from the drivers where it sees fit, or if they allow it it may be an older version that's not optimized for newer hardware. Oh, and the updated iGPU drivers install automatically via Windows Update. So there's that, too.Then disable Windows Update Automatic Driver Downloads: https://www.laptopmag.com/articles/disable-automatic-driver-downloads-on-windows-10 |
Send message Joined: 4 Mar 09 Posts: 39 |
Yeah, I do actually know a driver is, and one is installed, thanks very much you patronising person. That's why I can run hardware accelerated apps on a monitor plugged into my iGPU :-) If a multitude of games and 3D apps - commercial to homebrew, even web browsers can run and be accelerated by my iGPU using the installed driver, I would think BOINC ought to manage... "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 5 Oct 06 Posts: 5123 |
OK, it sounds like it's time to do some testing again. I've got a Windows 10 i5 on the desk in front of me, and BOINC saw the Intel GPU just fine when I bought it - running build 1809. It's recently updated itself to 1903, so worth another look. It's an ultraportable, so I don't usually use the iGPU for crunching (not enough cooling), and I'll have to switch BOINC out of service mode when I get to that stage: but I'll update this post as I go along. Hardware: i5 8250U CPU, Intel UHD 620 Software: Windows 10 Pro, version 1903, build 18362.145 Graphics driver: 23.20.16.4973 dated 28 Feb 2018 (OEM supplied) Well, Oblomov's CLinfo sees the right sort of detail - I'll switch to that machine to post. Number of platforms 1 Platform Name Intel(R) OpenCL Platform Vendor Intel(R) Corporation Platform Version OpenCL 2.1 Platform Profile FULL_PROFILE Platform Extensions cl_intel_dx9_media_sharing cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_d3d11_sharing cl_khr_depth_images cl_khr_dx9_media_sharing cl_khr_fp64 cl_khr_gl_sharing cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir Platform Host timer resolution 100ns Platform Extensions function suffix INTEL Platform Name Intel(R) OpenCL Number of devices 2 Device Name Intel(R) UHD Graphics 620 Device Vendor Intel(R) Corporation Device Vendor ID 0x8086 Device Version OpenCL 2.1 NEO Driver Version 23.20.16.4973 Device OpenCL C Version OpenCL C 2.1 Device Type GPU ... Device Name Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz Device Vendor Intel(R) Corporation Device Vendor ID 0x8086 Device Version OpenCL 2.1 (Build 611) Driver Version 7.6.0.611 Device OpenCL C Version OpenCL C 2.0 Device Type CPUAnd BOINC sees 11/06/2019 12:49:08 | | Starting BOINC client version 7.14.2 for windows_x86_64 11/06/2019 12:49:08 | | log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 11/06/2019 12:49:08 | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 11/06/2019 12:49:08 | | Data directory: C:\BOINCdata 11/06/2019 12:49:08 | | Running under account Richard Haselgrove 11/06/2019 12:49:08 | | OpenCL: Intel GPU 0: Intel(R) UHD Graphics 620 (driver version 23.20.16.4973, device version OpenCL 2.1 NEO, 3166MB, 3166MB available, 211 GFLOPS peak) 11/06/2019 12:49:08 | | OpenCL CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 7.6.0.611, device version OpenCL 2.1 (Build 611)) 11/06/2019 12:49:08 | | Processor: 8 GenuineIntel Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz [Family 6 Model 142 Stepping 10] 11/06/2019 12:49:08 | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss htt tm pni ssse3 fma cx16 sse4_1 sse4_2 movebe popcnt aes f16c rdrandsyscall nx lm avx avx2 vmx tm2 pbe fsgsbase bmi1 smep bmi2 11/06/2019 12:49:08 | | OS: Microsoft Windows 10: Professional x64 Edition, (10.00.18362.00) |
Send message Joined: 4 Mar 09 Posts: 39 |
I'd like to add that I've tried uninstalling the iGPU driver and letting it reinstall on reboot, as well as running my secondary monitor with the iGPU instead of my main AMD Radeon graphics card. As well as reinstalls of BOINC and setting <use_all_gpus>1</use_all_gpus> in cc_config.xml Nothing I've tried since the shift to Windows DCH drivers will allow BOINC to see the iGPU. "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 5 Oct 06 Posts: 5123 |
As you can see in my previous post (now complete), BOINC can see my OEM driver just fine. So... running my secondary monitor with the iGPUYes, that's normally a prerequisite for iGPU computing. I have 'headless' dummy plugs on the motherboard outputs on all my NVidia-equipped desktops. the shift to Windows DCH driversThat's beginning to sound like the nub of the problem. I'll see if I can replicate. Now downloading driver 25.20.100.6374 dated 18 November 2018 from Microsoft. And that's got OpenCL support too: Platform Name Intel(R) OpenCL Number of devices 2 Device Name Intel(R) UHD Graphics 620 Device Vendor Intel(R) Corporation Device Vendor ID 0x8086 Device Version OpenCL 2.1 NEO Driver Version 25.20.100.6374 Device OpenCL C Version OpenCL C 2.0which BOINC can see: 11/06/2019 13:15:21 | | Starting BOINC client version 7.14.2 for windows_x86_64 11/06/2019 13:15:21 | | log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 11/06/2019 13:15:21 | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 11/06/2019 13:15:21 | | Data directory: C:\BOINCdata 11/06/2019 13:15:21 | | Running under account Richard Haselgrove 11/06/2019 13:15:22 | | OpenCL: Intel GPU 0: Intel(R) UHD Graphics 620 (driver version 25.20.100.6374, device version OpenCL 2.1 NEO, 3166MB, 3166MB available, 211 GFLOPS peak) 11/06/2019 13:15:22 | | OpenCL CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 7.6.0.716, device version OpenCL 2.1 (Build 716))and use: 11/06/2019 13:21:57 | SETI@home | [cpu_sched] Starting task blc25_2bit_guppi_58406_23898_HIP20842_0094.28629.818.21.44.208.vlar_1 using setiathome_v8 version 820 (opencl_intel_gpu_sah) in slot 4 |
Send message Joined: 13 Jun 17 Posts: 91 |
I don't want to distract from OP's problem, but I can't get Einstein to crunch on my HD Graphics 630. It is "newer", so it should be able to work. Richard (or anyone), I'm not sure if this is your forte or not, but if you have a moment, could you take a look at the post I started on the Einstein forum? Edit - Disregard, I didn't see that Gary wrote a week ago. I apparently don't have a problem, it isn't compatible for one reason or another. |
Send message Joined: 5 Oct 06 Posts: 5123 |
Have a look at the opening post in another intel gpu opencl thread at Einstein. That's the same UHD 620 that I used in this test. You'll see that I got it to fetch work (needs Beta apps enabled), but not to run it - it stalled after doing the initial data setup, and never reached the first checkpoint. I also refer to a SETI test in that thread: like then, today's test with the SETI app has led to an inconclusive result, so I suspect Intel have tweaked the precision or driver optimisation again. Bernd is aware of the Einstein problem, but too busy to do anything about it: I don't feel like waking Raistmer out of his slumbers before I set off on my travels. So I'm inclined to let this one lie until some cold, boring, winter's evening. |
Send message Joined: 13 Jun 17 Posts: 91 |
I'll be honest, I only wanted to see if I could get it to work, so hibernating this issue is fine by me. I suspect that it will cause more problems or slow other tasks down more than it is worth. I think the community here will need to put in some elbow grease whenever Intel decides to release a discrete GPU. There is an argument that the effort will be better spent there, however for more casual crunchers that are not so tech savvy I would think we would not want to ignore the iGPUs. |
Send message Joined: 4 Mar 09 Posts: 39 |
I can personally attest to crunching more SETI@home work units when I ran my i5 8400 with CPU and iGPU utilised, both without and with discrete graphics. At least when that worked for me. Sure, it wasn't a staggering increase in results, but I say if the user is willing, why not let them? I make sure have a good cooling solution since I run BOINC always after 5-15mins idle on all my computers. And I accept the consequences of all that work, the shortening of my hardware's lifespan, and electricity cost. Naturally, I realise development effort must be balanced against the wants of a user such as myself :-) "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 1 Jul 16 Posts: 146 |
Yeah, I do actually know a driver is, and one is installed, thanks very much you patronising person. That's why I can run hardware accelerated apps on a monitor plugged into my iGPU :-) If a multitude of games and 3D apps - commercial to homebrew, even web browsers can run and be accelerated by my iGPU using the installed driver, I would think BOINC ought to manage... The mindset of saying that BOINC should manage GPU drivers is along the lines of saying Steam should manage drivers. Steam is the loading interface for many games, BOINC is the interface for many projects. I'm not even sure drivers could be packaged with BOINC for licensing reasons. At most BOINC could check for latest/missing GPU drivers but that is out of scope of the program and not something I'd want BOINC doing as an end user. OSs do that too much already. |
Send message Joined: 4 Mar 09 Posts: 39 |
My point, dear child, is that if other applications - from indie games to web browsers to modellers to commercial games - can work just fine being accelerated by my iGPU using the current driver, then it seems like it ought not to be impossible for BOINC to do the same. Now if that is in the too hard basket to get working again, fine. iGPU workunit crunching is surely a niche in BOINC. Priorities, right? But kindly do end your patronising BS that I'm suggesting or not knowing things that I never suggested and know very well indeed, thank you. "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 5 Oct 06 Posts: 5123 |
Yes, you're right. "Using current driver" should work. The trouble is that my current driver does work, your current driver doesn't work. So, what's the difference, and is it something for BOINC to fix, Microsoft to fix, or Intel to fix? I've posted my current driver version (25.20.100.6374), but you've said nothing except "since the shift to Windows DCH drivers". Any chance we could have comparable details? Until we work out who broke what, we won't know whose job it is to fix it. Edit - I assume you're somewhere on https://downloadcenter.intel.com/download/28816/Intel-Graphics-Windows-10-DCH-Drivers?product=80939, but that page includes 9 different versions. |
Send message Joined: 5 Oct 06 Posts: 5123 |
OK, now we're getting somewhere. I've updated to 26.20.100.6890 (Latest) Date: 5/29/2019, and Oblomov still sees OpenCL: Platform Name Intel(R) OpenCL Number of devices 2 Device Name Intel(R) UHD Graphics 620 Device Vendor Intel(R) Corporation Device Vendor ID 0x8086 Device Version OpenCL 2.1 NEO Driver Version 26.20.100.6890 Device OpenCL C Version OpenCL C 2.0 Device Type GPUbut BOINC doesn't. 13/06/2019 19:38:53 | | Starting BOINC client version 7.14.2 for windows_x86_64 13/06/2019 19:38:53 | | log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 13/06/2019 19:38:53 | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 13/06/2019 19:38:53 | | Data directory: C:\BOINCdata 13/06/2019 19:38:53 | | Running under account Richard Haselgrove 13/06/2019 19:38:53 | | OpenCL CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 7.6.0.0228, device version OpenCL 2.1 (Build 0)) 13/06/2019 19:38:53 | | No usable GPUs foundThe GPU detection code returned <warning>clGetDeviceInfo failed to get device extensions for device 0</warning> Does that match your diagnostics? Continuing: that test comes a long way down the list - https://github.com/BOINC/boinc/blob/master/client/gpu_opencl.cpp#L844 - it's already found everything else. Oblomov found them: Device Extensions cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_depth_images cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_media_block_io cl_intel_driver_diagnostics cl_intel_device_side_avc_motion_estimation cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_khr_fp64 cl_khr_subgroups cl_khr_il_program cl_intel_spirv_device_side_avc_motion_estimation cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_no_integer_wrap_decoration cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_intel_motion_estimation cl_intel_advanced_motion_estimation cl_khr_gl_sharing cl_khr_gl_depth_images cl_khr_gl_event cl_khr_gl_msaa_sharing cl_intel_dx9_media_sharing cl_khr_dx9_media_sharing cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_intel_d3d11_nv12_media_sharing cl_intel_simultaneous_sharingThat's a long list - 1.09 KB (1,117 bytes). I think we might need a bigger buffer... OK, make that https://github.com/BOINC/boinc/blob/master/lib/opencl_boinc.h#L48. But increasing it gives: 13/06/2019 20:31:42 | | Starting BOINC client version 7.15.0 for windows_x86_64 13/06/2019 20:31:42 | | This a development version of BOINC and may not function properly 13/06/2019 20:31:42 | | log flags: file_xfer, sched_ops, task, cpu_sched, sched_op_debug 13/06/2019 20:31:42 | | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8 13/06/2019 20:31:42 | | Data directory: C:\BOINCdata 13/06/2019 20:31:42 | | Running under account Richard Haselgrove 13/06/2019 20:31:42 | | OpenCL: Intel GPU 0: Intel(R) UHD Graphics 620 (driver version 26.20.100.6890, device version OpenCL 2.1 NEO, 3166MB, 3166MB available, 211 GFLOPS peak) 13/06/2019 20:31:42 | | OpenCL CPU: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 7.6.0.0228, device version OpenCL 2.1 (Build 0))I think that earns me a beer - PR to follow later. Oh, all right. PR #3183. NOW beer. Seeya! |
Send message Joined: 1 Jul 16 Posts: 146 |
My point, dear child, is that if other applications - from indie games to web browsers to modellers to commercial games - can work just fine being accelerated by my iGPU using the current driver, then it seems like it ought not to be impossible for BOINC to do the same. Except compute and gaming driver requirements are not the same thing and require different parts of drivers. Windows 10 will install NV CUDA only drivers with it's updates but DOES NOT install OpenCL. Across the many BOINC forums I've seen it over and over again where users no longer have a GPU to compute with due to Win10. Sure they can still play their games but compute does not work. You're asking for help then you're the one dismissing everything from admins and people that built the platform you're using. |
Send message Joined: 4 Mar 09 Posts: 39 |
I assume you're somewhere on https://downloadcenter.intel.com/download/28816/Intel-Graphics-Windows-10-DCH-Drivers?product=80939, but that page includes 9 different versions. I tried the Windows 10 64bit exe installer. It refuses to install, insisting I rely on the manufacture's version. Which in my case is the Windows Update installed version. Prior to DCH versions, I had the Intel downloaded version and BOINC saw the iGPU. My feeling is, if it's considered worth dev time and effort to support the Intel iGPU, it's probably not going to still be worthwhile if users are left only with the option of forcing a manual install of the Intel downloaded drivers. Because that will surely slash user adoption too next to nothing. "The surest sign that intelligent life exists elsewhere in the universe is that it has never tried to contact us." - Calvin and Hobbes (Bill Watterson) |
Send message Joined: 5 Oct 06 Posts: 5123 |
Yes, that was my reaction at first too. But luckily I had appropriate hardware available, and I plowed through the very limited information provided. And yes, it was a BOINC problem. Not a deliberate removal of a feature (as the thread title seems to imply), but simply the outside world outgrowing us. Anyway, my patch has been accepted. You will both test version 7.16 (expected to be released for testing this weekend), won't you? |
Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software Foundation.