Skip to main content
Solved

OpenCL platforms not found, inference renders poorly

  • January 26, 2026
  • 1 reply
  • 33 views

On an AMD CPU with ubuntu 24.04, I see these warnings. Inference does open, but it seems to render poorly.

(venv) my@machine:~/voyager-sdk$ ./inference.py yolov8l-coco-onnx media/traffic1_1080p.mp4 media/traffic1_1080p.mp4 media/traffic1_1080p.mp4 media/traffic1_1080p.mp4
INFO    : Could not exec vainfo: Command '['vainfo']' returned non-zero exit status 3.
WARNING : Failed to get OpenCL platforms : clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR
WARNING : Please check the documentation for installation instructions

OpenCL doesn't find any platforms

(venv) my@machine:~/voyager-sdk$ clinfo
Number of platforms                               0

ICD loader properties
 ICD loader Name                                 OpenCL ICD Loader
 ICD loader Vendor                               OCL Icd free software
 ICD loader Version                              2.3.2
 ICD loader Profile                              OpenCL 3.0

Best answer by Steven Hunsche

Hi Marie!

AMD is always a fun one! I think installing some display drivers could help you:
 

cd /tmp
wget --referer http://support.amd.com https://repo.radeon.com/amdgpu-install/latest/ubuntu/noble/amdgpu-install_7.2.70200-1_all.deb
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb
sudo apt update
amdgpu-install --usecase=graphics,opencl --no-32 --no-dkms

 

This should remove the OpenCL warning and also install some other (e)GPU packages, which should improve rendering.

 

Upon further investigation, I think our SDK is missing a tiny piece today (v1.5.3) for AMD chips. We’ll add it in a release soon. For now, please go into your sdk and open up the file operators/axstreamer/src/AxOpenCl.cpp, then

  • In the get_order_preference function, add the following after the “NVIDIA”s line

} else if (preference == "amd") {
    return { "AMD"s };

  • In the get_order_preference function, add “AMD”, to the return statement, expanding the vector
  • In the build_cl_details function, rename the which_cl argument to cl_choice
  • In the same build_cl_details function, add the following line at the beginning of the function

std::string which_cl = cl_choice ? cl_choice : "";

  • In the same build_cl_details function, replace the line

std::string preference = which_cl ? which_cl : "auto";

with the line

std::string preference = which_cl.empty() ? "auto" : which_cl;

 

Then go back into your SDK and recompile these files with the command

make operators

 

Hope this helps!

1 reply

Steven Hunsche
Axelera Team
Forum|alt.badge.img
  • Axelera Team
  • Answer
  • January 26, 2026

Hi Marie!

AMD is always a fun one! I think installing some display drivers could help you:
 

cd /tmp
wget --referer http://support.amd.com https://repo.radeon.com/amdgpu-install/latest/ubuntu/noble/amdgpu-install_7.2.70200-1_all.deb
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb
sudo apt update
amdgpu-install --usecase=graphics,opencl --no-32 --no-dkms

 

This should remove the OpenCL warning and also install some other (e)GPU packages, which should improve rendering.

 

Upon further investigation, I think our SDK is missing a tiny piece today (v1.5.3) for AMD chips. We’ll add it in a release soon. For now, please go into your sdk and open up the file operators/axstreamer/src/AxOpenCl.cpp, then

  • In the get_order_preference function, add the following after the “NVIDIA”s line

} else if (preference == "amd") {
    return { "AMD"s };

  • In the get_order_preference function, add “AMD”, to the return statement, expanding the vector
  • In the build_cl_details function, rename the which_cl argument to cl_choice
  • In the same build_cl_details function, add the following line at the beginning of the function

std::string which_cl = cl_choice ? cl_choice : "";

  • In the same build_cl_details function, replace the line

std::string preference = which_cl ? which_cl : "auto";

with the line

std::string preference = which_cl.empty() ? "auto" : which_cl;

 

Then go back into your SDK and recompile these files with the command

make operators

 

Hope this helps!