Open tsjordan-eng opened 4 years ago
Notice: when you download & install AMD 's graphic driver (https://www.amd.com/en/support). You actually have already installed the OpenCL real driver.
Step 1: but you still lack OpenCL header/library. So come here. https://github.com/GPUOpen-LibrariesAndSDKs/OCL-SDK/releases
download & Install the exe and you see header/.lib. .lib will find the real driver for you, acting like an ICD loader.
On my Win10, it is installed in C:\Program Files (x86)\OCL_SDK_Light\
When I compile a program using CMake, the target that links directly to clBLAS builds, but anything that then links to that target fails because:
The offending line appears in clBLASTargets-release.cmake when the concrete path to the AMD APP SDK is set. Removing that path allows the compilation to succeed.
We could remove that path or substitute in
${OpenCL_LIBRARY}
, but I think the real goal should be to move towards a Modern CMake approach where targets, not variables, are defined as this is best-practice. Something likeclBLAS::clBLAS
rather than the variables.refer to: https://pabloariasal.github.io/2018/02/19/its-time-to-do-cmake-right/#model-dependencies-with-target_link_libraries