作者:周兆靖
英特尔® 锐炫™ 系列独立显卡已上市,有A770、A750等多款不同型号,定位不同应用场景的高性能显卡。除桌面端显卡外,英特尔NUC系列产品也搭载了多款移动端独立显卡,有A550M、A730M、A770M等。
考虑到有部分用户是初次体验英特尔的独立显卡,尤其是在Linux系统环境下对显卡驱动的下载与安装并不熟悉。本次我们就着重介绍如何在Linux系统环境下安装英特尔显卡的驱动,并且也测试了显卡的AI推理性能。
显卡驱动安装教程
英特尔® 锐炫™ 系列独立显卡仅支持Linux系统环境下的Ubuntu 20.04与Ubuntu 22.04两个版本,安装前一定要确保当前系统版本符合要求。本次教程使用A770(16GB)显卡,在Ubuntu 20.04 LTS系统版本下安装驱动。
驱动安装前的准备工作
1、了解Resizable Base Address Register (RBAR) 功能
RBAR的中文名称是可调整大小的基址寄存器,是一项标准化的PCI Express接口技术,在许多最新的CPU和主板平台中能看见,被广泛用于嵌入式系统中,通常与外设控制器相关联。通过更改RBAR的值,可以动态更改内存访问地址,让CPU能直接读取或写入外设的寄存器或缓冲区。
当电脑运行游戏时,GPU显存(VRAM)借助CPU到 GPU之间的传输通道,不断传输游戏内纹理、着色器和几何形状等大量数据。通过RBAR帮助,系统可以按需请求资源并以整体方式传输,因此 CPU便能有效访问整个帧缓存。以前CPU单次向 GPU存取的内容被限制在 256 MB。而大型游戏引擎在传统设计下,若数据超过256MB,便会频繁在 CPU和GPU之间来回传输,导致整体运算效率低,从而影响游戏帧数(FPS)。当然,AI计算也是同理,频繁拷贝数据势必会浪费计算资源与带宽。有了RBAR技术,CPU可以完全存取整个GPU显存 (VRAM),不通过共享内存作为缓冲区进行协作,减少与GPU沟通次数,极大提高了CPU和GPU之间的运算效率。
同等硬件条件下,开启与关闭RBAR功能得到的推理性能如下:
CPU:i7-11700T
dGPU:A770(16GB)
Memory: 32GB
系统版本:Ubuntu 20.04 LTS
测试软件:benchmark_app from OpenVINO™ Toolkit
模型地址:
https://github.com/openvinotoolkit/openvino_notebooks/tree/main/notebooks/001-hello-world/model
2、检查系统配置并开启RBAR功能
lspci -v |grep -A8 VGA
以上信息中黄色方块内代表当前PCIe通道内存的存取内容体积大小。可以看到图中size=16G,表明CPU向GPU可访问数据的最大值为16G,等同于当前显卡的16GB显存,证明主板BIOS中的RBAR功能已开启。若RBAR功能没开启,一般情况下显示为size=256MB。解决办法是去主板BIOS中开启RBAR功能。
本次演示的主板型号是技嘉Z590,BIOS版本为F7,BIOS日期为11/03/2021,BIOS ID为BARKL012。电脑开机按DEL键进入主板BIOS界面:
点击setting选项进入设置页面: