OpenCL 环境准备及资料
0. GPU驱动相关
1
sudo add-apt-repository ppa:oibaf/graphics-drivers
1. OpenCL 环境准备
1.1 查看 OpenCL 设备
1
2
3
4
# 查看 GPU 设备
lspci | grep -i vga
sudo apt install clinfo
使用 clinfo
命令查看 OpenCL 版本。C++
程序需要定义OpenCL
版本:
1
target_compile_definitions(${target_name} PRIVATE CL_TARGET_OPENCL_VERSION=300)
1.2 安装 OpenCL SDK
1
2
3
4
5
6
7
sudo apt install libstb-dev libsfml-dev libglew-dev libglm-dev libtclap-dev ruby doxygen -y
# 安装支持包:包括ICD Loader,SDK及头文件
sudo apt install ocl-icd-opencl-dev
git clone https://github.com/KhronosGroup/OpenCL-SDK.git --recursive
# 编译 & 安装 OpenCL SDK .....
- 额外安装:
Intel OpenCL Runtime
,用于支持在CPU
上运行OpenCL
程序(模拟GPU
??),需要先安装OpenCL Loader
(Installable Client Driver Loader,ICD Loader
)。参考 ubuntu安装OpenCL运行及编译环境。
1.3 参考
- Getting started with OpenCL on Ubuntu Linux
- CMake Build System Support
- Khronos Community – OpenCL
- Intel Community – OpenCL* for CPU
2. 资源
3. 安装 Intel OpenCL 支持
3.1 安装 Intel OpenCL Runtime for GPU
安装步骤,以及遇到问题的解决办法:
- 安装
Intel OpenCL Runtime
:github – Intel OpenCL Runtime - Intel ARC intel-i915-dkms dpkg error upgrading to HWE kernel 6.5
- How To Deploy OpenCL™ Code on Intel® Hardware
- openCL on Ubuntu still can’t detect my intel graphics platform after I install some relevant drivers
3.2 安装额外支持包
安装如下包 (可能不是必须的):
1
2
sudo apt-get install xserver-xorg-video-intel
sudo apt-get install mesa-utils
3.3 使能 User 用户权限
权限使能,并重启系统。(如果GPU
已经使能,不添加权限只能使用sudo
查看到GPU
设备)
1
2
sudo usermod -a -G render $USER
sudo usermod -a -G video $USER
3.4 验证
1
2
3
4
5
6
clinfo -l
Platform #0: Intel(R) OpenCL
`-- Device #0: Intel(R) Core(TM) i5-8260U CPU @ 1.60GHz
Platform #1: Intel(R) OpenCL Graphics
`-- Device #0: Intel(R) UHD Graphics 620
3.5 Intel OpenCL 调试
Intel OpenCL 调试,需要作一些设置。安装驱动以及调试符号等,对GPU
硬件有要求(如要求GPU gen 12以上);以及不同GPU
硬件,支持的Ubuntu
等linux发行版也不同。
- Get Started with Intel® SDK for OpenCL™ Applications 2020 on Linux* OS with Training Sample
- Get Started with Intel® Distribution for GDB* on Linux* OS Host
4. 升级 OpenCL 驱动,支持 OpenCL 3.0
1
2
3
4
5
6
# add PPA
sudo add-apt-repository ppa:kisak/kisak-mesa
# install MESA packages
sudo apt update
sudo apt full-upgrade
恢复默认MESA:
1
2
sudo apt install ppa-purge
sudo ppa-purge ppa:kisak/kisak-mesa
5. AMD Windows 平台安装
vcpkg
安装及OpenCL
依赖包:
1
2
# 使用命令行终端,不能使用powershell终端
vcpkg --triplet x64-windows install sfml tclap glm
编译OpenCL
:
1
2
3
4
git clone --recursive https://github.com/KhronosGroup/OpenCL-SDK.git
# 需要指定 vcpkg.cmake 路径
cmake -D CMAKE_TOOLCHAIN_FILE=D:\dev_libs\vcpkg\scripts\buildsystems\vcpkg.cmake -D VCPKG_TARGET_TRIPLET=x64-windows -D BUILD_TESTING=OFF -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D OPENCL_SDK_BUILD_SAMPLES=ON -D OPENCL_SDK_TEST_SAMPLES=OFF -D CMAKE_INSTALL_PREFIX=D:\dev_libs\opencl ..
本文由作者按照 CC BY 4.0 进行授权