cancel
Showing results for 
Search instead for 
Did you mean: 

OpenCL

userxx
Journeyman III

Current status of OpenCL for a SI (R7 370) in Linux

Hi,

As I asked in Linux OpenCL not working AMDGPU-PRO (max global size 0, CL_OUT_OF_HOST_MEMORY), the problem persist.

I tried both in Arch and in Ubuntu 18.04.
If I go for mesa + amdgpu open source drivers for GPU + amdapp sdk opencl for CPU, I can work with a recent kernel, AMD OpenCL driver for CPU in OpenCL 1.2 and mesa (clover) for GPU, but in OpenCL 1.1. Also, CodeXL does not detect the GPU, therefore, it is useless.

If I try to install amdgpu-pro, it doesn't matter if in Ubuntu or in Arch, It does not work. If I mix the opensource stack amdgpu + the opencl version of amdgpu-pro (like the AUR package opencl-amd AUR (en) - opencl-amd ), the system works, clinfo reports OpenCL 1.2 version, but when I try to use in a simple test (BinomialOption from AMDAPPSDK, but it can be any test) using it... it fails with CL_OUT_OF_HOST_MEMORY). So, it seems some sort of bug from the driver.

Seriously, I have been like 5 days trying to use OpenCL in Linux with no luck. Of course, I can use with mesa, but then it will be OpenCL 1.1 and no support from tools like CodeXL. How can be possible that AMD is supporting OpenCL but it is so complex to be usable. Impossible that a normal user would spend not even 1 hour configuring the system to be able to use OpenCL appropriately. I even tried fglrx, but it gave me even more problems.

Is there any well-known configuration that works? I mean, the range of kernel versions, xorg versions, amdgpu / amdgpu-pro stack... that just works. I don't mind about the distro, I will just switch to it if it manages the GPU without taking from me days of life. I tried many things, but I am completely blind doing my tests. I read many forum posts, blogs, wikis, ... I found more people lost.


My summary so far about this "promising" technology:

- NVIDIA doesn't care about OpenCL.
- AMD (looks like) cares, but only in the newest devices.

Now, even more frameworks/languages/things (hip, rocm, ...), and the user is completely lost about what would be the most stable technology.

2 Replies

I posted a reply at your original link that yo posted.

dipak
Big Boss

Currently, OpenCL support for SI cards is very limited under Linux. With AMDGPU-PRO, OpenCL is not supported on 1st generation GCN  cards (i.e. SI). Also, AMD APPSDK package is no longer compatible with this driver. Actually, all the required libraries come with the driver itself, so no separate OpenCL SDK is required with AMDGPU-PRO.

If you still want to use OpenCL on SI, you need to use a setup that is compatible with the older Crimson drivers (e.g. Crimson 15.12 ) and APPSDK 3.0; for example, you need to use one of the Linux distributions mentioned here: AMD Radeon™ R7 370 Drivers & Support | AMD .

But couple of important points to note:  1) no driver update is expected for Crimson and 2) APPSDK is no longer officially supported.

[Edit]: Corrected the APPSDK version

Thanks.