实战精选 | 如何在一台Linux AI PC上高效运行OpenVINO™

openlab_96bf3613 更新于 4月前

作者:Adrian Boguszewski 英特尔 AI 软件布道师;武卓博士 英特尔 AI 软件布道师


摘要:简单2步,在 AIPC 上快速高效运行 OpenVINO™

什么是 AI PC,为什么它有一个特殊的名字?

AI PC 是时下PC领域的一个热门话题。与普通 PC 不同,AI PC 配备了先进的硬件,例如强大的 GPU,可以超快地运行具有生成式AI或大语言模型等繁重计算要求的 AI 模型推理,更重要的是,它还具有称为神经处理单元 (NPU) 的专用 AI 芯片。NPU 针对低功耗进行了优化,同时保持了高计算性能,这使其在处理特定 AI 工作负载方面表现出色,例如背景模糊、噪声去除等运行连续推理而不会快速耗尽电池电量的AI推理任务。 因此,基本上,如果您需要一台能够处理繁重的 AI 工作或能够更有效地管理复杂的多线程 AI 应用的计算机,那么配备了英特尔®酷睿™Ultra处理器的 AI PC  就是为您打造的。有关这款AI PC的更多信息,请参阅我们的文章AI PC blog.


在OpenVINO™中验证设备可用性

OpenVINO™是英特尔推出的一款针对AI模型进行优化、推理加速以及快速部署的开源AI工具套件。针对配备了英特尔®酷睿™Ultra处理器的 AI PC ,可以帮助AI模型在CPU、GPU以及NPU上进行快速部署以及推理加速。接下来,我们将利用OpenVINO™来验证AI PC上这些硬件推理设备的的可用性。在本文中,我们将使用 Ubuntu 24.04,因为这是最新的 Ubuntu LTS 版本。

让我们从全新的 Ubuntu 安装开始。然后,创建一个虚拟环境,并使用以下命令安装 OpenVINO:

python3 -m venv venv
source venv/bin/activate
pip install openvino

在 Python 解释器中运行此代码,以验证哪些设备可供您在AI推理时使用。

import openvino as ov
core = ov.Core()
print(core.available_devices)

此时,你应该只能看到[‘CPU’]这个设备,意味着你目前只能访问 CPU。这个可不是什么好事!毕竟,你的笔记本电脑也有 GPU 和 NPU!那么,让我们解决这个问题。

如何在 Linux 上启用所有设备

我们将从 GPU 开始。第一步是安装所有驱动程序和必要的软件包。为此,您应该添加一个使用 GPG 密钥签名的 Intel 软件包存储库。还有其他方法(您可以在此处查看它们),但这种方法对于安装和未来更新来说是最简单的。

sudo apt update
sudo apt install -y gpg-agent wget
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key | sudo gpg --yes --dearmor --output /usr/share/keyrings/intel-graphics.gpg
echo "deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" | sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
sudo apt update

好的,是时候安装 GPU 推理所需的一切了。

sudo apt install -y \
  intel-opencl-icd intel-level-zero-gpu level-zero \
  intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 \
  libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri \
  libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers \
  mesa-vdpau-driver***esa-vulkan-drivers va-driver-all vainfo hwinfo clinfo 

完成此步骤后重新启动。

sudo reboot

让我们再次运行下面的 Python 代码。

import openvino as ov
core = ov.Core()
print(core.available_devices)

您现在应该看到的是 CPU 和 GPU。因此,唯一缺少的设备是 NPU。oneTBB 是 intel-driver-compiler-npu 的依赖项,因此必须先安装。

sudo apt install libtbb12

之后,我们需要下载并安装 NPU 驱动程序和所有相关软件包。

wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-driver-compiler-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-fw-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
wget https://github.com/intel/linux-npu-driver/releases/download/v1.5.0/intel-level-zero-npu_1.5.0.20240619-9582784383_ubuntu22.04_amd64.deb
wget https://github.com/oneapi-src/level-zero/releases/download/v1.17.2/level-zero_1.17.2+u22.04_amd64.deb
sudo dpkg -i *.deb

我们还需要为我们的加速器(NPU)分配正确的组和权限,并将我们的用户添加到渲染组中(请将<your-user-name>替换为您的用户名)。

sudo bash -c "echo 'SUBSYSTEM==\"accel\", KERNEL==\"accel*\", GROUP=\"render\", MODE=\"0660\"' > /etc/udev/rules.d/10-intel-vpu.rules"
sudo usermod -a -G render <your-user-name>

最后一次重新启动以应用所有更改...

sudo reboot

让我们再次检查可用的设备。

import openvino as ov
core = ov.Core()
print(core.available_devices)

CPU、GPU 和 NPU 现在应该可见了!可以开始愉快地用所有设备运行AI推理了!

如果对 NPU 可见性有任何问题,请访问此 页面.

Performance Index 网站

性能结果基于截至配置中显示的日期的测试,可能无法反映所有公开可用的更新。有关配置详细信息,请参阅备份。没有任何产品或组件可以绝对安全。您的成本和结果可能会有所不同。英特尔技术可能需要支持的硬件、软件或服务激活。

© 英特尔公司。英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。

0个评论