KhronosGroup / OpenCL-Docs

OpenCL API, OpenCL C, Extensions, SPIR-V Environment Specs, Ref page, and C++ for OpenCL doc sources.
Other
357 stars 113 forks source link

CPUs not showing up as opencl devices #1270

Open goofyseeker311 opened 3 days ago

goofyseeker311 commented 3 days ago

by the specification, all cpus (intel, amd, x86) should appear valid opencl devices. nvidia gpus and amd igpu show up fine, but none of AMD ryzed 5000 series cpus show up in a debug listing.

is this a specification failure, or windows failure, drivers failure or platform vendor manufacturer problem?

self-answer: downloading and installing the intel opencl runtime for cpu works for amd cpus too. https://www.intel.com/content/www/us/en/developer/articles/technical/intel-cpu-runtime-for-opencl-applications-with-sycl-support.html

Oblomov commented 2 days ago

pocl is another OpenCL platform that support CPUs. Mesa's rusticl with llvmpipe IIRC also does it. In general, whether or not CPUs show as device depends entirely on which platforms are installed, just like for any other device. It doesn't nor shouldn't depend on the OpenCL library itself.

goofyseeker311 commented 2 days ago

opencl support should be on by default, not requiring any drivers installs, especially on windows.

SunSerega commented 2 days ago

Well, you cannot have a driver without a driver.

Pushing Windows devs to install some other company's OpenCL for CPU driver (or even to make their own) by default is probably a fruitless job, so Khronos' standards do seem like a better vector.

And I also think it's stupid that to have OpenCL work with CPUs on Windows, we have to install Intel drivers on AMD processors...

But from my experience, I doubt just stating here that it's wrong and expecting someone else to just pick it up would work.

goofyseeker311 commented 2 days ago

well better have a default driver than no driver. standard is nothing without a driver. even a wrong default from intel. maybe push intel to release the opencl cpu driver as open source driver for all windows x86-64 cpus.

or push amd to re-release their opencl cpu drivers. maybe even better, have microsoft dev their own cpu opencl x86-64 driver for windows.