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

点击蓝字

关注我们

作者:Adrian Boguszewski,英特尔 AI 软件布道师

           武卓博士,英特尔 AI 软件布道师

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

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

9fc4b35fad4c675a9578c6aabbbaf40f.png

在 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 软件包存储库。还有其他方法(您可以在https://dgpu-docs.intel.com/driver/client/overview.html查看它们),但这种方法对于安装和未来更新来说是最简单的。

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-drivers mesa-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 可见性有任何问题,请访问此https://github.com/intel/linux-npu-driver/releases/tag/v1.5.0.

通知及免责声明

性能因使用情况、配置和其它因素而异。如需了解详情,请访问https://edc.intel.com/content/www/us/en/products/performance/benchmarks/overview/。

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

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

---------------------------------------

*OpenVINO and the OpenVINO logo are trademarks of Intel Corporation or its subsidiaries.

-----------------------------

 OpenVINO 中文社区 

微信号 : openvinodev

B站:OpenVINO中文社区

“开放、开源、共创”

致力于通过定期举办线上与线下的沙龙、动手实践及开发者交流大会等活动,促进人工智能开发者之间的交流学习。

○ 点击 “ 在看 ”,让更多人看见

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/791963.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux 0.11 中的重要的全局变量

通过对全局变量的了解&#xff0c;也有助于了解整个代码的逻辑。就跟学习类一样&#xff0c;了解类有哪些成员变量&#xff0c;也有助于了解类的成员函数的功能。 &#xff08;1&#xff09;内存初始化相关 static u_char mem_map [ PAGING_PAGES ] { 0 , } .本数组对 1M 以外…

JavaSE 面向对象程序设计进阶 IO 练习读取多个对象

练习读取多个对象 用序列化流将对象写入文件 import java.io.*; import java.nio.charset.Charset;public class Main {public static void main(String[] args) throws IOException, ClassNotFoundException {//序列化多个对象Person p1new Person("多多", 男,20)…

动手学深度学习(Pytorch版)代码实践 -循环神经网络-57长短期记忆网络(LSTM)

57长短期记忆网络&#xff08;LSTM&#xff09; 1.LSTM原理 LSTM是专为解决标准RNN的长时依赖问题而设计的。标准RNN在训练过程中&#xff0c;随着时间步的增加&#xff0c;梯度可能会消失或爆炸&#xff0c;导致模型难以学习和记忆长时间间隔的信息。LSTM通过引入一组称为门…

55070-001J 同轴连接器

型号简介 55070-001J是Southwest Microwave的连接器。这款连接器外壳和中心接触件采用 BeCu 合金制成&#xff0c;这是一种具有良好导电性和机械性能的铜合金。绝缘珠则使用了 PEEK HT 材料制成&#xff0c;这是一种耐高温、耐化学腐蚀的工程塑料。为了确保连接的可靠性和稳定性…

旷野之间11 - 开源 SORA 已问世!训练您自己的 SORA 模型!

​​​​​ 目前最接近 SORA 的开源模型是 Latte,它采用了与 SORA 相同的 Vision Transformer 架构。Vision Transformer 究竟有何独特之处?它与之前的方法有何不同? Latte 尚未开源其文本转视频训练代码。我们复制了论文中的文本转视频训练代码,并将其提供给任何人使用,…

袋鼠云产品支持全栈信创适配,更加安全可靠、自主可控

随着国产替换的深化&#xff0c;企业对信创产品的需求逐渐融合更丰富的业务诉求以及未来数智规划&#xff0c;正从“同类替换”转向“迭代升级”。 当前&#xff0c;袋鼠云的产品与芯片、服务器、数据库、操作系统、中间件、云平台等主流信创厂商全面兼容适配&#xff0c;为企…

3.相机标定原理及代码实现(opencv)

1.相机标定原理 相机参数的确定过程就叫做相机标定。 1.1 四大坐标系及关系 &#xff08;1&#xff09;像素坐标系&#xff08;单位&#xff1a;像素&#xff08;pixel&#xff09;&#xff09; 像素坐标系是指相机拍到的图片的坐标系&#xff0c;以图片的左上角为坐标原点&a…

工厂人员定位系统介绍及解决方案

着现代工业不断发展&#xff0c;工厂人员定位系统已经广泛的用于各个大型工厂&#xff0c;这主要是因为UWB人员定位系统功能性非常强大&#xff0c;发挥着更加全面的功能优势&#xff0c;满足了不同厂区对工作环境的管理。而它的出现&#xff0c;将人员定位系统达到了更加精准的…

CISCN2024 RE 后两道 wp 复现

5. gdb_debug 其实逻辑还是挺简单的&#xff0c;当时没认真做 伪代码还算清晰 几个循环的加密之后判断密文 难点是前面有随机数参与加密&#xff0c;不过可以猜测随机数是不变的。 第一段加密 flag异或一组随机数&#xff0c;这里可以在异或的位置下条件断点&#xff0c;用…

windows信息收集和提权

目录 手动收集 工具收集 windows本地内核提权 本地提权 根据windows去找需要的exp进行利用 提权后结合mimikatz使用 msf提权 简单提权 生成后门 上线 BypassUAC绕过UAC提权 msf带的bypassuac模块可以尝试提权 Bypassuac提权命令操作 提权成功 ​local_exploi…

【python】随机森林预测汽车销售

目录 引言 1. 数据收集与预处理 2. 划分数据集 3. 构建随机森林模型 4. 模型训练 5. 模型评估 6. 模型调优 数据集 代码及结果 独热编码 随机森林模型训练 特征重要性图 混淆矩阵 ROC曲线 引言 随机森林&#xff08;Random Forest&#xff09;是一种集成学习方法…

全网最炸裂的5款SD涩涩模型!身体真的是越来越不好了!建议收藏,晚上自己偷偷打开看!

很多人说&#xff0c;**自从学了SD后&#xff0c;身体一天不如一天了。**今天就再接再厉&#xff0c;给大家推荐5个涩涩的模型。 【身材调节器】 顾名思义&#xff0c;这个lora可以帮你在出图时凹出想要的S型曲线。出图效果的大小由lora的权重来设定&#xff0c;权重越小越贫穷…

本地开发微信小程序,使用巴比达内网穿透

在微信小程序开发的热潮中&#xff0c;开发者常面临的一个挑战是如何在复杂的网络环境下测试和调试内网环境中的服务。巴比达正为这一难题提供了一条解决方案&#xff0c;极大简化了微信小程序与内网服务器之间通信的流程&#xff0c;加速了开发迭代周期。 以往&#xff0c;开…

3D渲染模型是白色的?问题出在以下6点,教你快速解决!

你的3D模型渲染出来是不是黑色、白色、粉色或者扭曲的&#xff1f; 出现这种情况很有可能是你的贴图纹理丢失或损坏&#xff01; 幸运的是&#xff0c;有一些常见的方法可以解决此问题并恢复纹理。在本文中&#xff0c;小编将分享如何排查和解决不同方案下的纹理问题。通常问…

小红书的大模型有点「怂」

大模型发展至今&#xff0c;各个公司都根据自己的业务发布了各自的大模型。而小红书作为种草类产品的代表&#xff0c;自研的大模型一直引而不发&#xff0c;还在内测阶段。 AI以及自研大模型的持续火热&#xff0c;让以原创内容为主导的小红书坐不住了。 近期&#xff0c;据多…

本周六!上海场新能源汽车数据基础设施专场 Meetup 来了

本周六下午 14:30 新能源汽车数据基础设施专场 Meetup 在上海&#xff0c;点击链接报名 &#x1f381; 到场有机会获得 Greptime 和 AutoMQ 的精美文创周边哦&#xff5e; &#x1f52e; 会后还有观众问答 & 抽奖环节等你来把神秘礼物带回家&#xff5e; &#x1f9c1; 更…

傅里叶级数的3D表示 包括源码

傅里叶级数的3D表示 包括源码 flyfish 傅里叶级数的基本形式 &#xff1a; y ( t ) ∑ n 1 , 3 , 5 , … N 4 A n π sin ⁡ ( n π T t ) y(t) \sum_{n1,3,5,\ldots}^{N} \frac{4A}{n\pi} \sin\left(\frac{n\pi}{T} t\right) y(t)n1,3,5,…∑N​nπ4A​sin(Tnπ​t) 其中&…

WPF/C#:在WPF中如何实现依赖注入

前言 本文通过 WPF Gallery 这个项目学习依赖注入的相关概念与如何在WPF中进行依赖注入。 什么是依赖注入 依赖注入&#xff08;Dependency Injection&#xff0c;简称DI&#xff09;是一种设计模式&#xff0c;用于实现控制反转&#xff08;Inversion of Control&#xff0…

Apache Hadoop完全分布式集群搭建指南

Hadoop发行版本较多&#xff0c;Cloudera版本&#xff08;Cloudera’s Distribution Including Apache Hadoop&#xff0c;简称CDH&#xff09;收费版本通常用于生产环境&#xff0c;这里用开源免费的Apache Hadoop原始版本。 下载&#xff1a;Apache Hadoop 版本下载&#x…

华盈生物-PhenoCycler-超多靶标揭示组织空间位置和互作关系

华盈生物获得美国Akoya公司认证的PhenoCycler-Fusion&#xff08;原CODEX&#xff09;空间单细胞蛋白组技术服务商&#xff0c;并进入该技术的全球CRO服务提供者网络&#xff1a;CRO Service Providers | Akoya Biosciences为科研工作者提供为更具有精准医学特色的服务&#xf…