So, i tried OpenCL a few years ago, and i had a pretty well running setup that had both Intel CPU and NVidia GPU OpenCL platforms running and available, so i could switch between them during development.
Now i'm trying to get back to OpenCL, and i'm trying out PyOpenCL.
I had the NVidia OpenCL platform working after installing their latest drivers, and now i also wanted to install the latest Intel OpenCL for my CPU.
After getting the latest Intel OpenCL Runtimes and installing them, now suddenly PyOpenCL breaks instantly, probably relaged to the OpenCL.dll.
It seems that the CPU Runtime overwrote the OpenCL.dll in /system32 that came from NVidia.
So .. has it now become impossible to have both CPU and GPU platforms at once, because each vendor simply overwrites the OpenCL.dll ?
That would be pretty sad, because that was one of the exciting features of OpenCL to me.
Or is the current Intel OpenCL CPU Runtime generally broken ?
Judging by all the threads here with people having problems with it, it almost seems that way.
Should i install the SDK instead ?
Well .. looks like this is just broken now, at least for my old i5 4570 CPU ?
I tried both the latest and the 18.1 runtimes, no platform shows up.
Do the Intel CPU Runtimes only support OpenCL 1.2 on this CPU maybe ?
Also it's a bit scary that the OpenCL.dll just gets flat out overwritten by whoever installed last ..
I guess doing side-by-side OpenCL with DLLs is kind of impossible then ? Or has become that way ?
Does Intel OpenCL support have to be hardcoded in, via the SDK then ?
So .. for whatever it's worth, i kind of got it working with my years-old C++ project, but ONLY when using the OpenCL.dll from NVidia ( it's apparently version 220.127.116.11, while the latest Intel one is 18.104.22.168 ). With that in the application directory, it shows both platforms. I haven't tested choosing the Intel platform yet though, not sure if it actually works. Will try that next.
But anyway .. so far this has been a very not-fun experience, compared to a few years ago.
I'm slowly wrapping my head around this again, it seems some of the crashes are related to other things, and PyOpenCL comes with its own OpenCL.dll which does not play well with my system it seems. Renaming it so it falls back to the system's own OpenCL.dll seems to help quite a bit.
So .. disregard this topic