OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1663 Discussions

Support for HD Graphics 3000 in SRB4 Linux please ?

Adrian_Vasile_C_
Beginner
543 Views

Hello,

I installed the latest OpenCL drivers (SRB4) from Intel on my Slackware Linux with HD 3000, with the instructed kernel and patch installed (my 4.7 kernel version now has the .intel.r4.1 string appended).

I understand from the support matrix that the OpenCL dirver supports HD Graphics 2500 and HD Graphics 4000, but not HD Graphics 3000 ?
Is this correct ?

Is it possible to include support for HD Graphics 3000 please ?

I know it is Sandy Bridge, but it feels bad knowing I have the hardware, yet I can not use it....

--
Thank you,
Adrian Vasile Constantin

0 Kudos
10 Replies
Jeffrey_M_Intel1
Employee
543 Views

Recent SRB OpenCL driver releases support 5th, 6th, or 7th Generation Core processors.

For earlier processors, you could try legacy releases of Media Server Studio. More info here: https://software.intel.com/en-us/articles/driver-support-matrix-for-media-sdk-and-opencl

However, for 2nd Generation Core your choices are more limited.  

  • Windows: Sandybridge graphics drivers include a subset of what is available on more recent processors
  • Linux: Beignet OpenCL

 

Adrian_Vasile_C_
Beginner
543 Views
Beignet also has no support for Sandy Bridge GPUs, am I missing something ? Is there any way at all please to see OpenCL running on a SandyBridge GPU like HD Graphics 3000 ? -- Thank you, Adrian Vasile Constantin
SergeyKostrov
Valued Contributor II
543 Views
>>...Beignet also has no support for Sandy Bridge GPUs, am I missing something? That is correct and there is no support for Sandy Bridge GPUs. But you have a full set of sources and modifications, to enable support of Sandy Bridge, need to be done for a small subset of source files: ..\Beignet-1.3.1\src\cl_device_data.h ..\Beignet-1.3.1\backend\src\gbe_bin_generater.cpp ..\Beignet-1.3.1\backend\src\backend\gen_program.cpp ..\\Beignet-1.3.1\src\intel\intel_gpgpu.c ..\Beignet-1.3.1\backend\src\ir\profiling.cpp For example, search for IS_IVYBRIDGE macro and you will get a list of files mentioned above.
SergeyKostrov
Valued Contributor II
543 Views
>>>>...Beignet also has no support for Sandy Bridge GPUs, am I missing something? >> >>That is correct and there is no support for Sandy Bridge GPUs. There is a partial support of Sandy Bridge in Beignet 1.3.1 and search for all strings like 'SANDYBRIDE' and 'IVYBRIDGE'. I was surprised to see that and it looks like developers decided to stop working on Sandy Bridge functionality after it was started. I would expect to see a full support for all generations from 1st to 7th.
Adrian_Vasile_C_
Beginner
543 Views

Thank you for the information

It is not very clear for me what changes I have to make, and my attempts after looking at the source distribution were unsuccessful. The upcoming v1.4.1 compiled but still found no devices, v1.3.1 produces some compile error if I add the PCI IDs for SandyBridge.

Do you have more information please ? Maybe a set of changes or a link ?

--
Thank you,
Adrian Vasile Constantin

SergeyKostrov
Valued Contributor II
543 Views
>>...The upcoming v1.4.1 compiled but still found no devices... I didn't know that v1.4.1 is released and I'll take a look. >>...v1.3.1 produces some compile error if I add the PCI IDs for SandyBridge.. Please post compilation output. I don't consider changes to add a support of Sandy Bridge architecture as too difficult but they certainly will affect many pieces of source codes and could be time consuming.
SergeyKostrov
Valued Contributor II
543 Views
>>>>...The upcoming v1.4.1 compiled but still found no devices... >> >>I didn't know that v1.4.1 is released and I'll take a look. I don't see 1.4.1 version at https://01.org/beignet/downloads
Adrian_Vasile_C_
Beginner
543 Views
Sorry, not 1.4.1, I meant the latest commit from git master. If I compile and install it, it shows “1.4“ in the platform vendor string. The compile error with 1.3.1 is undefined reference to 'llvm::DisableABIBreakingChecks' in gbe_bin_interpreter.cpp. Should I look for exactly my PCI ID and add only that one to GenGetID.sh ?
SergeyKostrov
Valued Contributor II
543 Views
>>The compile error with 1.3.1 is undefined reference to 'llvm::DisableABIBreakingChecks' in gbe_bin_interpreter.cpp. I've downloaded a 1.3.1 version as archive and it doesn't have any references to llvm::DisableABIBreakingChecks in gbe_bin_interpreter.cpp file. >>Should I look for exactly my PCI ID and add only that one to GenGetID.sh? I think Yes. I'm not sure that it is related but gbe_bin_generater.cpp doesn't have support for SNB. I did a code review and most modifications need to be done in intel_driver.h and intel_driver.cpp files. Also, take a look at EMULATE_GEN macro in intel_driver.cpp file.
Adrian_Vasile_C_
Beginner
543 Views

Hello,

From the beignet mailing list, it looks like simple patching of the sources is not likely to work, because compiler support is also needed for SandyBridge:

https://lists.freedesktop.org/archives/beignet/2017-June/008916.html

Do you think you have a recipe that will make this work ? Beignet page still says they support 3rd to 6th gen hw
Can you give more detailed instructions ?

--
Thank you,
Adrian Vasile Constantin

Reply