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了:

相关推荐
Joren的学习记录几秒前
【Linux运维大神系列】Kubernetes详解2(kubeadm部署k8s1.27单节点集群)
linux·运维·kubernetes
lbb 小魔仙5 分钟前
【Linux】K8s 集群搭建避坑指南:基于 Linux 内核参数调优的生产级部署方案
linux·运维·kubernetes
且去填词5 分钟前
构建基于 DeepEval 的 LLM 自动化评估流水线
运维·人工智能·python·自动化·llm·deepseek·deepeval
techzhi9 分钟前
docker compose和docker-compose的区别
运维·docker·容器
老兵发新帖10 分钟前
ubuntu服务器配置私钥登录
linux·服务器·ubuntu
vortex513 分钟前
Linux 用户组查询命令详解
linux·运维·服务器
打不了嗝 ᥬ᭄17 分钟前
网易 UU 远程 2026年1月 新春升级深度测评:免登录破局 + 安全加码 + 运维专属,重新定义远程协助体验
运维·安全
小杜今天学AI了吗26 分钟前
如何配置 linux 系统的conda 环境
linux·运维·conda
oMcLin29 分钟前
如何在Ubuntu 22.04 LTS上通过配置ZFS存储池,提升高吞吐量数据库的读写性能与可靠性?
linux·数据库·ubuntu
这就是佬们吗29 分钟前
告别 Node.js 版本冲突:NVM 安装与使用全攻略
java·linux·前端·windows·node.js·mac·web