Add Support for Intel GPUs on Linux
Jiab77 opened this issue · comments
Hi, I recently discovered your project and found it really cool and well done.
When I've tried the GPU support for Nvidia, it worked perfectly! But when I wanted to see if you had implemented the same for Intel GPU's, I saw nothing in the Graphics Devices
part.
It would be nice to implement the support for Intel GPUs along the others that are planned in #27.
For now I'm using intel_gpu_top
from the debian/ubuntu package intel-gpu-tools
and here is how it looks so far:
I don't know if that's possible in rust
, maybe there is no library for that 🤔
BTW, in case you don't find anything useful within the intel-gpu-tools
package, you can give a try to the package/command clinfo
:
$ clinfo
Number of platforms 1
Platform Name Intel Gen OCL Driver
Platform Vendor Intel
Platform Version OpenCL 2.0 beignet 1.3
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_khr_gl_sharing
Platform Extensions function suffix Intel
Platform Name Intel Gen OCL Driver
Number of devices 1
Device Name Intel(R) HD Graphics Kabylake ULT GT3
Device Vendor Intel
Device Vendor ID 0x8086
Device Version OpenCL 2.0 beignet 1.3
Driver Version 1.3
Device OpenCL C Version OpenCL C 2.0 beignet 1.3
Device Type GPU
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 48
Max clock frequency 1000MHz
Device Partition (core)
Max number of sub-devices 1
Supported partition types None, None, None
I don't know how to code in rust
yet but let me know if I can help for testing things. 😉
Thank you for kind comments!
I do want to add support for intel GPUs. I think I can get what I need from this. I couldn't immediately find rust bindings, but if those exist that should make it straight forward.