Linux下为Intel核显安装OpenCL

实验环境

  • CPU:N5105
  • 运行内存:32G
  • 系统:almalinux 8 (类似CentOS系统)

安装过程

检查i915驱动

输入命令dmesg | grep i915查看驱动的加载信息。

我这里没接显示器,输出正确的驱动加载信息如下图所示,驱动正常加载。

该驱动为Intel核心显卡的驱动,如没有加载,请升级系统内核,建议5.10以上。我这里用的内核版本为6.6.39。

可以通过ELRepo仓库来升级内核:

bash 复制代码
sudo yum update -y
sudo yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
# 注意要重启才生效
sudo reboot

通过yum安装OpenCL

尝试sudo yum install ocl-icd ocl-icd-devel intel-opencl -y命令来安装OpenCL,在我这里提示未找到软件包。大家不要慌,可以通过以下命令添加软件源并安装:

bash 复制代码
sudo yum config-manager --add-repo https://repositories.intel.com/graphics/rhel/8.6/intel-graphics.repo
sudo yum install ocl-icd ocl-icd-devel intel-opencl -y

其中https://repositories.intel.com/graphics/rhel/8.6/intel-graphics.repo中的8.6代表了系统的版本,可以替换成自己的(比如说我的系统是AlmaLinux8.4就替换为8.4)。当然我这里推荐大家用最新的8.6。

除了用yum,也可以手动编译安装,这里没有试过,就给个官方下载链接给大家:https://www.intel.com/content/www/us/en/developer/archive/tools/tools-opencl-applications.html。

验证OpenCL

通过clinfo命令来检测OpenCL是否安装好。

我这里显示有3个设备,这样就代表装好了,可以正常使用了:

如果 Number of platforms 显示的数目为 0 ,就代表驱动没有装好,检查前面步骤是否有问题。

升级至OpenCL3.0

在我这官方源提供的ocl-icd并不是最新版的,只支持OpenCL2.2。

这里我们先通过命令yum remove -y ocl-icd卸载了,然后进行手动安装:

我们手动编译最新版的OpenCL-ICD-Loader,先克隆:

bash 复制代码
git clone https://github.com/KhronosGroup/OpenCL-ICD-Loader
git clone https://github.com/KhronosGroup/OpenCL-Headers

然后先编译OpenCL Headers并安装:

bash 复制代码
# 编译
cmake -D CMAKE_INSTALL_PREFIX=./OpenCL-Headers/install -S ./OpenCL-Headers -B ./OpenCL-Headers/build 
cmake --build ./OpenCL-Headers/build --target install
# 安装到 /usr 目录
cp -r OpenCL-Headers/install/* /usr/

继续编译OpenCL ICD Loader并安装:

bash 复制代码
cmake -D CMAKE_PREFIX_PATH=/absolute/path/to/OpenCL-Headers/install -D CMAKE_INSTALL_PREFIX=./OpenCL-ICD-Loader/install -S ./OpenCL-ICD-Loader -B ./OpenCL-ICD-Loader/build 
cmake --build ./OpenCL-ICD-Loader/build --target install
# 安装到 /usr 目录
cp -r OpenCL-ICD-Loader/install/* /usr/

注意以上CMAKE_PREFIX_PATH要修改路径为OpenCL-Headers文件夹所在的路径,即修改/absolute/path/to/

此时已经支持OpenCL3.0了:

相关推荐
文牧之4 分钟前
Oracle 审计参数:AUDIT_TRAIL 和 AUDIT_SYS_OPERATIONS
运维·数据库·oracle
姓刘的哦6 分钟前
ubuntu中使用docker
linux·ubuntu·docker
代码程序猿RIP15 分钟前
【Linux】(1)—进程概念-⑤进程调度
linux·运维
MrWang.27 分钟前
Ubuntu中SSH服务器安装使用
服务器·ubuntu·ssh
_lizhiqiang30 分钟前
联想拯救者R9000P 网卡 Realtek 8852CE Ubuntu/Mint linux 系统睡眠后,无线网卡失效
linux·运维·ubuntu·r9000p·无线网卡·8852ce
我的golang之路果然有问题1 小时前
云服务器部署Gin+gorm 项目 demo
运维·服务器·后端·学习·golang·gin
心随_风动1 小时前
SUSE Linux 发行版全面解析:从开源先驱到企业级支柱
linux·运维·开源
christine-rr2 小时前
征文投稿:如何写一份实用的技术文档?——以软件配置为例
运维·前端·网络·数据库·软件构建
Altairr2 小时前
Docker基础(二)
运维·docker·容器
笑醉踏歌行2 小时前
NVM,Node.Js 管理工具
运维·ubuntu·node.js