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

相关推荐
上学的小垃圾1 小时前
基于docker安装MySQL(openEuler系统)
linux·mysql·docker·容器
cui_ruicheng2 小时前
LangChain 应用开发(十四):Agent 上下文与记忆机制
服务器·人工智能·python·langchain
一直C3 小时前
Linux网络编程|HTTP协议详解(报文、请求方法、状态码)
linux·http·wireshark·vim·visual studio
爱喝水的鱼丶3 小时前
SAP-ABAP:ABAP 用户出口开发规范与避坑指南:10 类典型错误与运维方案
运维·性能优化·sap·abap·增强·经验交流·出口
博、、3 小时前
从零构建智慧场馆解决方案:架构设计与开发实践
大数据·运维
敢敢是只喵i4 小时前
给现有业务系统接 AI 助手,入口怎么选?网页聊天、自动化任务与本地 Agent 对比
运维·人工智能·ai·开源·自动化·安全架构
章老师说5 小时前
BFE v1.8.6 正式发布:AI 网关计费精细化、Claude 协议与会话亲和性升级
运维·人工智能·ai·负载均衡·ai-native
Brilliantwxx5 小时前
【Linux】 进程(10) 进程控制深度解析:创建、终止与等待
linux·运维·服务器·c语言·开发语言·网络
ai小陈5 小时前
FramePack图生视频云端部署实战:从单图输入到视频输出的完整流程
服务器·人工智能·安全·ai·音视频·gpu算力
欧米欧6 小时前
Linux基础指令上
linux·运维·服务器