Getting tasks for Intel HD Graphics 5500?

l2p8mcn294ux
l2p8mcn294ux
Joined: 2 Aug 21
Posts: 8
Credit: 3826788
RAC: 12779
Topic 231256

Hi all, sorry if it's been asked before (Google search didn't yield any answers), but I have an i3-5005U with Intel HD Graphics 5500. From the scheduler log message it says:

Intel GPU device name: 'Intel(R) HD Graphics 5500 BroadWell U-Processor GT2' doesn't match 'HD Graphics [123]|HD Graphics 40'

Do we have plans to expand the GPU tasks availability to the newer Intel GPUs? 

Not sure if it's related but, I have to downgrade to BOINC 7.18.1 (with Docker image from linuxserver/boinc, running on Ubuntu Server 22.04.4) for it to correctly identify the Intel GPU model number.

 

 

 

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5021
Credit: 18924352731
RAC: 6530931

They've never updated the

They've never updated the Intel igpu app to recognize most of the newer igpus.  The solution is to either use an app_info.xml file or to fake the gpu detection to something that BOINC recognizes in the coproc_info.xml file and then mark it immutable so BOINC can't change it.

 

Tom M
Tom M
Joined: 2 Feb 06
Posts: 6576
Credit: 9652974702
RAC: 2867032

+1

+1

A Proud member of the O.F.A.  (Old Farts Association).  Be well, do good work, and keep in touch.® (Garrison Keillor)  I want some more patience. RIGHT NOW!

l2p8mcn294ux
l2p8mcn294ux
Joined: 2 Aug 21
Posts: 8
Credit: 3826788
RAC: 12779

Thanks for the pointer! I

Thanks for the pointer! I updated the GPU name in coproc_info.xml to 

<name>Intel(R) HD Graphics 5500 pretending to be HD Graphics 4000</name>

and it's getting GPU tasks. Although the tasks fail immediately with the following error logs:

<core_client_version>7.18.1</core_client_version>
<![CDATA[
<message>
process exited with code 11 (0xb, -245)</message>
<stderr_txt>
[21:16:51][807][INFO ] Application startup - thank you for supporting Einstein@Home!
[21:16:51][807][INFO ] Starting data processing...
[21:16:51][807][INFO ] Using OpenCL platform provided by: Intel
[21:16:51][807][INFO ] Using OpenCL device "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2" by: Intel
[21:16:51][807][ERROR] Couldn't build OpenCL program (error: -11)!
[21:16:51][807][INFO ] OpenCL shutdown complete!
[21:16:51][807][ERROR] Application caught signal 11.
------> Obtained 3 stack frames for this thread.
------> Backtrace:
Frame 3:
	Binary file: ../../projects/einstein.phys.uwm.edu/einsteinbinary_BRP4_1.34_x86_64-pc-linux-gnu__opencl-intel_gpu (0x480b16)
	Source file: erp_boinc_wrapper.cpp (Function: sighandler / Line: 167)
Frame 2:
	Binary file: /lib/x86_64-linux-gnu/libpthread.so.0 (0x7fc6f53a8420)
	Offset info: +0x14420
------> End of backtrace
21:16:52 (807): called boinc_finish
Error: couldn't parse symbol information for file name: [0x2dc2380]
</stderr_txt>
]]>

Not sure where to go from here but I'll disable GPU tasks to not pollute the task pool. I will need to replace the 16GB SSD on this machine before I can try different driver/boinc versions. 

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5021
Credit: 18924352731
RAC: 6530931

From your output, it looks

From your output, it looks like you didn't mark the coproc.info.xml file immutable so Boinc can't rewrite it at startup each time.



Quote:
21:16:51][807][INFO ] Using OpenCL device "Intel(R) HD Graphics 5500 BroadWell U-Processor GT2" by: Intel

If you made that change to HD Graphics 4000, and marked the file immutable, it would have reported as your changed igpu type.

sudo chattr +i coproc_info.xml

 

l2p8mcn294ux
l2p8mcn294ux
Joined: 2 Aug 21
Posts: 8
Credit: 3826788
RAC: 12779

Thanks for pointing out the

Thanks for pointing out the chattr. The BOINC event log has the following entries suggesting the file was indeed immutable. I'm running BOINC in Docker and I bind-mounted coproc_info.xml as read-only into the container. 

Tue Jul  2 17:05:12 2024 |  | Data directory: /config
Tue Jul  2 17:05:17 2024 |  | Failed to delete old coproc_info.xml. error code -110
Tue Jul  2 17:05:19 2024 |  | OpenCL: Intel GPU 0: Intel(R) HD Graphics 5500 pretending to be HD Graphics 4000 (driver version 1.3, device version OpenCL 1.2 beignet 1.3, 1889MB, 1889MB available, 184 GFLOPS peak)
Tue Jul  2 17:05:19 2024 |  | libc:  version 2.31

The same GPU name was forwarded to the server. At least the server is willing to send the tasks when the GPU name mentions HD Graphics 4000.

2024-07-02 21:21:29.7042 [PID=912108]    [version] Checking plan class 'opencl-intel_gpu'
2024-07-02 21:21:29.7042 [PID=912108]    [version] parsed project prefs setting 'gpu_util_brp': 1.000000
2024-07-02 21:21:29.7043 [PID=912108]    [version] GPU RAM calculated: min: 512 MB, use: 360 MB, WU#814656618 CPU: 248 MB
2024-07-02 21:21:29.7043 [PID=912108]    [version] [HOST#13189083] device name: 'Intel(R) HD Graphics 5500 pretending to be HD Graphics 4000'; OpenCL driver version: 1.3; platform version: OpenCL 2.0 beignet 1.3; device version: OpenCL 1.2 beignet 1.3
2024-07-02 21:21:29.7043 [PID=912108]    [version] Peak flops supplied: 1.84e+11
2024-07-02 21:21:29.7043 [PID=912108]    [version] plan class ok
2024-07-02 21:21:29.7043 [PID=912108]    [version] Skipping Intel GPU version - user prefs say no Intel GPU

From the task error log it's a SIGSEGV (signal 11), probably a dynamic library issue with incompatible versions? Maybe I'll try different Intel drivers and BOINC versions when the new SSD arrives in a few days. The current 16G SSD doesn't even have space for a different version BOINC Docker image. 

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5021
Credit: 18924352731
RAC: 6530931

I see further issues with

I see further issues with your OpenCL driver.  You are attempting to use the beignet driver which AFAIK has never been able to be used by the project.

With both AMD and Intel cards, it is always recommended to use ONLY the official manufacturer drivers and NEVER any distro substituted driver.

OpenCL 2.0 beignet 1.3; device version: OpenCL 1.2 beignet 1.3

From reports by expert on Intel drivers Richard Haselgrove, you have to use the specific Intel drivers matching your OS kernel AND the specific Intel hardware.  Or it just doesn't work.

 

l2p8mcn294ux
l2p8mcn294ux
Joined: 2 Aug 21
Posts: 8
Credit: 3826788
RAC: 12779

Installing intel-opencl-icd

Installing intel-opencl-icd did the trick! Although after a lot of switching between Ubuntu versions, intel-opencl-icd versions, and BOINC versions the same random GPU handing/reset failure/system freeze issue kept coming up. From dmesg, it always starts with 

[  323.899638] i915 0000:00:02.0: GPU HANG: ecode 8:1:0x85dffffb, in einsteinbinary_ [2151], hang on rcs0
[  323.900657] i915 0000:00:02.0: Resetting rcs0 for hang on rcs0

Normally the GPU usage would hover around 98%, along with high CPU usage. When the issue starts, the GPU usage would pin 100% for a few seconds, then drops to 0%. The CPU usage of the task remains high and it just sits there until I SIGKILL the task. 

Sometimes it fails to reset the chip, then either the entire system hangs indefinitely, or restarts after 30s.

[  181.310457] 1915 0000:00:02.0: [drm] *ERROR* Failed to reset chip
[ 221.393511] mce: CPUs not responding to ME broadcast (may include false positives): 1.
[ 221.393607] Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler
[ 222.445072] Shutting down cus with NMI
[ 222.455629] Kernel Offset: 0x1f600000 from Oxffffffff81000000 (relocation range: oxffffffff80000000-oxfffffffffffffff)
[ 222.500859] Rebooting in 30 seconds..

Intel HD 5500 probably has some hardware changes that are not compatible with the existing code. Looks like there's a minor but highly impactful detail in the code that needs to be updated. The computation seems to be working and was producing valid results. 

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5021
Credit: 18924352731
RAC: 6530931

It would be helpful if you

It would be helpful if you unhid your computers so we could look at the returned results output.

As I mentioned, the drivers for Intel igpu are PARTICULARLY persnickety when it comes to matching EXACTLY, the correct version of driver to the hardware, to the kernel version.

It might take half a dozen tries to match the correct kernel to the correct drivers. If you showed your system, then experts like Richard Haselgrove probably could give you some insight and pointers to the right combination of elements.

 

l2p8mcn294ux
l2p8mcn294ux
Joined: 2 Aug 21
Posts: 8
Credit: 3826788
RAC: 12779

Sorry, just unhid my

Sorry, just unhid my computers. The one in question is https://einsteinathome.org/host/13189973. 

I appreciate you willing to take a closer look!

$ uname -a
Linux tidus 5.15.0-113-generic #123-Ubuntu SMP Mon Jun 10 08:16:17 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux 
$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.4 LTS" 
NAME="Ubuntu" 
VERSION_ID="22.04" 
VERSION="22.04.4 LTS (Jammy Jellyfish)" 
VERSION_CODENAME=jammy 
ID=ubuntu 
ID_LIKE=debian
$ apt list --installed
intel-gpu-tools/jammy-updates,now 1.26-2ubuntu0.1 amd64 [installed]
intel-opencl-icd/jammy,now 22.14.22890-1 amd64 [installed]
ocl-icd-libopencl1/jammy,now 2.2.14-3 amd64 [installed,automatic]

For now I've reverted coproc_info.xml to the default values. 

<coprocs>
  <coproc_intel_gpu>
    <count>0</count>
    <name>Intel(R) HD Graphics 5500 [0x1616]</name>
    <available_ram>9919819776.000000</available_ram>
    <have_opencl>0</have_opencl>
    <peak_flops>156400000000.000000</peak_flops>
    <version>1.0.0</version>
  </coproc_intel_gpu>
  <intel_gpu_opencl>
    <name>Intel(R) HD Graphics 5500 [0x1616]</name>
    <vendor>Intel(R) Corporation</vendor>
    <vendor_id>32902</vendor_id>
    <available>1</available>
    <half_fp_config>63</half_fp_config>
    <single_fp_config>191</single_fp_config>
    <double_fp_config>63</double_fp_config>
    <endian_little>1</endian_little>
    <execution_capabilities>1</execution_capabilities>
    <extensions>cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_intel_command_queue_families cl_intel_subgroups cl_intel_required_subgroup_size cl_intel_subgroups_short cl_khr_spir cl_intel_accelerator cl_intel_driver_diagnostics cl_khr_priority_hints cl_khr_throttle_hints cl_khr_create_command_queue cl_intel_subgroups_char cl_intel_subgroups_long cl_khr_il_program cl_intel_mem_force_host_memory cl_khr_subgroup_extended_types cl_khr_subgroup_non_uniform_vote cl_khr_subgroup_ballot cl_khr_subgroup_non_uniform_arithmetic cl_khr_subgroup_shuffle cl_khr_subgroup_shuffle_relative cl_khr_subgroup_clustered_reduce cl_intel_device_attribute_query cl_khr_suggested_local_work_size cl_khr_fp64 cl_khr_subgroups cl_intel_spirv_media_block_io cl_intel_spirv_subgroups cl_khr_spirv_no_integer_wrap_decoration cl_intel_unified_shared_memory cl_khr_mipmap_image cl_khr_mipmap_image_writes cl_intel_planar_yuv cl_intel_packed_yuv cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_3d_image_writes cl_intel_media_block_io cl_intel_sharing_format_query cl_khr_pci_bus_info </extensions>
    <global_mem_size>9919819776</global_mem_size>
    <local_mem_size>65536</local_mem_size>
    <max_clock_frequency>850</max_clock_frequency>
    <max_compute_units>23</max_compute_units>
    <nv_compute_capability_major>0</nv_compute_capability_major>
    <nv_compute_capability_minor>0</nv_compute_capability_minor>
    <amd_simd_per_compute_unit>0</amd_simd_per_compute_unit>
    <amd_simd_width>0</amd_simd_width>
    <amd_simd_instruction_width>0</amd_simd_instruction_width>
    <opencl_platform_version>OpenCL 3.0 </opencl_platform_version>
    <opencl_device_version>OpenCL 3.0 NEO </opencl_device_version>
    <opencl_driver_version>1.0.0</opencl_driver_version>
    <device_num>0</device_num>
    <peak_flops>156400000000.000000</peak_flops>
    <opencl_available_ram>9919819776.000000</opencl_available_ram>
    <opencl_device_index>0</opencl_device_index>
    <warn_bad_cuda>0</warn_bad_cuda>
  </intel_gpu_opencl>
  <warning>NVIDIA: libcuda.so: cannot open shared object file: No such file or directory</warning>
  <warning>ATI: libaticalrt.so: cannot open shared object file: No such file or directory</warning>
</coprocs>

Looks like there are more iGPU applications for Windows and seems more stable. Maybe I can run a Windows VM with iGPU passthrough. Although I recon the added complexity with passthrough mode.

Keith Myers
Keith Myers
Joined: 11 Feb 11
Posts: 5021
Credit: 18924352731
RAC: 6530931

You are identifying your

You are identifying your Intel igpu in your host details.

You have changed your venue settings to allow for Intel gpu work haven't you?

 

Use INTEL GPU:

YES

NO

This toggle? 

Don't see any sign of the 1.34 app tasks in your task list.

https://einsteinathome.org/account/prefs/project

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.