I am trying to setup a OpenCL environment for the following hardwares and operating system.
CPU : AMD EPYC 7551P
GPU : AMD FirePro S9150 (Hawaii)
OS : CentOS 7.4
I've succesfully installed AMDGPU-PRO for the FirePro S9150 and it is working as OpenCL 1.2, which is okay.
For CPU, however, I am confused whether I should install ROCm or AMDAPP-SDK. According to this post, OpenCL issues on EPYC 7551 , EPYC processors are suffering from performance problem. I am wondering if this problem is still on going, should I stick to ROCm not AMDAPP-SDK? But, then AMDAPP-SDK requires Catalyst not AMDGPU-PRO. Would this be okay?
If I were to use ROCm, isn't there any way to use ROCm in CentOS 7.4? I'm asking this because according to ROCm website and official documentation ROCm is only available for Ubuntu and Fedora.
As you are looking for OpenCL support for EPYC on Linux, APPSDK seems to be the only option at this moment. Currently, AFAIK, other two alternatives i.e. AMDGPU-PRO OpenCL and ROCm OpenCL both lack CPU support.
Btw, as mentioned on this thread OpenCL issues on EPYC 7551 , the performance problem is mainly due to the lack of Zen (EPYC) support for OCL.
Wait. Then does this mean ZEN architecture CPUs are not capable of performing 100% on OpenCL applications because relavent tools are not supported at the present time?
Unfortunately, it seems to be the scenario at this moment. ROCm base driver supports Zen, so hoping that OpenCL stack will also extend the support in future.
One point to note though. As host, if not as OCL device, Zen CPUs still be can be used to improve the overall performance of an application. On this page amd-cpu-libraries, AMD provides a set of numerical libraries (e.g. libM, BLIS, LAPACK etc.) which are tuned specially for Zen (EPYC). Depending on the requirement, applications can use those optimized libraries to take advantage of EPYC processors.
P.S. There is a separate forum AMD Server Gurus which provides EPYC related information and technical supports.