Qualcomm® AI Engine Direct 使用手册(1)

这篇具有很好参考价值的文章主要介绍了Qualcomm® AI Engine Direct 使用手册(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1. 介绍

1.1 目的

本文档提供 Qualcomm® AI Engine Direct 软件开发套件 (SDK) 的参考指南。

笔记
Qualcomm® AI Engine Direct 在源代码和文档中也称为 Qualcomm 神经网络 (QNN)。

1.2 惯例

函数声明、函数名称、类型声明、文件名、目录名称和库 名称以不同的字体显示。例如:#include

命令和代码示例出现在特殊格式的代码部分中。例如:

output = (input - offset) * scale.

数学表达式出现在特殊格式的数学部分中。例如:

y = x + 1

环境变量前面带有 $,例如 $QNN_SDK_ROOT。

1.3 平台差异

Qualcomm® AI Engine Direct 支持 Windows 和 Linux 平台。之间有几个区别 Linux 和 Windows 系统:

库和可执行程序命名约定
在 Linux 上,共享库名称将以 lib 为前缀,并具有 .so 扩展名。 在 Windows 上,共享库没有前缀,并且具有 .dll 扩展名。

在 Linux 上,库名称具有 .a 扩展名。在 Windows 上,静态使用 .lib 扩展名。 Windows 上的可执行文件具有 .exe 扩展名,而 Linux 可执行文件则没有。

例如,QnnCpu 后端库在 Linux 上为 libQnnCpu.so,在 Windows 上为 QnnCpu.dll。

不同平台的发布文件夹
Qualcomm® AI Engine Direct 软件开发套件 (SDK) 的用户可以通过以下方式找到相应的二进制文件和可执行文件 相关文件夹。例如,对于Linux和Windows平台,用户可以在表明平台的SDK根目录下找到具体路径:

  • (对于 Linux-X86):/bin/x86_64-linux-clang。

  • (对于 Windows-X86):/bin/x86_64-windows-msvc。

  • (对于 Windows-aarch64):/bin/aarch64-windows-msvc。

Linux 和 Windows 的环境设置
模型工具的操作应以平台依赖项的环境设置为先决条件。请参阅设置 了解更多信息。

1.4 发行说明

发行说明在 SDK 中以 QNN_ReleaseNotes.txt 形式提供。

2 概述

Qualcomm® AI Engine Direct 是 Qualcomm Technologies Inc. (QTI) 用于 AI/ML 用例的软件架构 关于 QTI 芯片组和 AI 加速核心。

Qualcomm®AI Engine Direct架构旨在提供统一的 API 以及模块化和可扩展性 每个加速器库构成了全栈人工智能解决方案的可重用基础, QTI 自有框架和第三方框架(如采用 Qualcomm AI Engine Direct 的 AI 软件堆栈图所示)。

采用 Qualcomm AI Engine Direct 的 AI 软件堆栈

qualcomm庐 ai engine direct sdk,Qualcomm,笔记,AI,人工智能,Qualcomm,ai

2.1 特征

基于硬件加速器的模块化

Qualcomm® AI Engine Direct 架构采用模块化设计,可实现软件中的清晰分离 对于不同的硬件核心/加速器,例如 CPU、GPU 和 DSP,指定为 后端。了解有关 Qualcomm® 的更多信息AI Engine Direct后端此处。

针对不同硬件核心/加速器的 Qualcomm® AI Engine Direct 后端被编译为 与 SDK 一起打包的各个特定于核心的库。

跨 IP 核的统一 API

Qualcomm® 的主要亮点之一AI Engine Direct 是它提供了统一的 API 来委托操作 例如跨所有硬件加速器后端的图形创建和执行。这允许用户 将 Qualcomm® AI Engine Direct 视为硬件抽象 API,并将应用程序轻松移植到不同的内核。

正确的抽象级别

Qualcomm® AI Engine Direct API 旨在支持高效的执行模型 具有内部处理的图形优化等功能。 但与此同时,它遗漏了更广泛的功能,例如模型解析和 网络分区到更高级别的框架。

组合的灵活性

借助 Qualcomm® AI Engine Direct,用户可以在后端提供的功能之间进行适当的权衡 以及库大小和内存利用率方面的占用空间。这提供了以下能力: 构建 Qualcomm® AI Engine Direct 操作包,仅包含服务一组模型所需的操作 以用例为目标1。有了这个,用户可以创建灵活的应用程序 内存占用低,适合各种硬件产品。

可扩展的运营支持

Qualcomm® AI Engine Direct 还为客户集成自定义操作以无缝协作提供支持 内置操作。

提高执行性能

凭借优化的网络加载和异步执行支持 Qualcomm®AI Engine Direct 可提供高度 机器学习框架和应用程序加载和执行网络图的高效接口 他们想要的硬件加速器。

2.2 软件架构

Qualcomm® AI Engine Direct API 和相关软件堆栈提供应用程序所需的所有构造 在所需的硬件加速器核心上构建、优化和执行网络模型。 Qualcomm AI Engine 直接组件 - 高级视图图表说明了主要构造。

Qualcomm AI Engine 直接组件 - 高级视图

qualcomm庐 ai engine direct sdk,Qualcomm,笔记,AI,人工智能,Qualcomm,ai

设备
硬件加速器平台的软件抽象。提供关联所需硬件所需的所有构造 用于执行用户组成的图的加速器资源。一个平台可能被分解为多个 设备。设备可能有多个核心。

后端
后端是顶级 API 组件,托管和管理图形所需的大部分后端资源 组合和执行,包括存储所有可用操作的操作注册表。 了解有关 Qualcomm® 的更多信息AI Engine Direct后端此处。

语境
代表维持用户应用程序所需的所有 Qualcomm® AI Engine Direct 组件的构造。主机网络由 用户并允许将构造的实体缓存到序列化对象中以供将来使用。它实现了互操作性 通过提供可共享的内存空间来在多个图之间实现张量在图之间交换。

图形
Qualcomm® AI Engine Direct 表示可加载网络模型的方式。由代表的节点组成 将它们互连以组成有向无环图的运算和张量。 Qualcomm® AI Engine Direct 图结构支持执行初始化、优化和执行的 API 网络模型。

操作包注册表
一个注册表,用于维护可用于执行模型的所有操作的记录。 这些操作可以是内置的,也可以由用户作为自定义操作提供。 了解有关操作包的更多信息此处。

2.3 集成工作流程

Qualcomm® AI Engine Direct SDK 提供工具和可扩展的每个加速器库,支持统一的 API 在 QTI 芯片组上灵活集成和高效执行 ML/DL 神经网络。 Qualcomm® AI Engine Direct API 旨在支持经过训练的神经网络的推理,因此客户负责 在他们选择的训练框架中训练 ML/DL 网络。训练过程一般是 在服务器主机上、设备外完成。一旦网络经过培训,客户就可以使用 Qualcomm® AI Engine Direct 做好准备 在设备上部署并运行。该工作流程用以下图解说明 训练与推理工作流程图表。

训练与推理工作流程

qualcomm庐 ai engine direct sdk,Qualcomm,笔记,AI,人工智能,Qualcomm,ai
Qualcomm® AI Engine Direct SDK 包含的工具可帮助客户将经过训练的深度学习网络集成到他们的 应用程序。基本集成工作流程如下图所示 Qualcomm AI Engine 直接集成工作流程图表。

Qualcomm AI Engine直接集成工作流程

qualcomm庐 ai engine direct sdk,Qualcomm,笔记,AI,人工智能,Qualcomm,ai

  1. 客户通过提供经过训练的网络模型文件作为输入来调用 Qualcomm® AI Engine Direct 转换器工具。 网络必须在 Qualcomm® AI Engine Direct 转换器工具支持的框架中进行训练。 有关 Qualcomm® AI Engine Direct 转换器的更多详细信息,请参阅工具部分。

  2. 当源模型包含 Qualcomm® 本身不支持的操作AI Engine Direct后端时, 客户端需要向转换器提供OpPackage定义文件,表达自定义/客户端 定义的操作。或者,他们可以使用 OpPackage 生成器工具来生成 框架代码来实现并将其自定义操作编译到 OpPackage 库中。 请参阅 qnn-op-package-generator 了解使用详情。

  3. Qualcomm® AI Engine Direct模型转换器是一款帮助客户编写 Qualcomm® 序列的工具AI引擎直接 API 调用以构建 Qualcomm® AI Engine Direct 训练网络的图形表示形式,该网络作为工具的输入提供。 转换器输出以下文件:

    • .cpp 源文件(例如model.cpp),包含构建所需的 Qualcomm® AI Engine Direct API 调用 网络图

    • .bin 二进制文件(例如 model.bin),包含作为 float32 数据的网络权重和偏差

    客户端可以选择指示转换器输出量化模型而不是默认模型, 如图所示量化模型.cpp。在这种情况下 model.bin 文件将 包含量化数据,并且 model.cpp 将引用量化张量数据类型和 包括量化编码。某些 Qualcomm® AI Engine Direct 后端库可能需要量化模型, 例如HTP 或 DSP(请参阅 general/api:后端补充 了解有关受支持的信息 数据类型)。有关转换器量化功能和选项的详细信息,请参见 量化支持。

  4. 客户可以选择使用 Qualcomm® AI Engine Direct 模型库生成工具来生成模型库。 请参阅qnn-model-lib-generator了解使用详情。

  5. 客户通过动态加载模型库将 Qualcomm® AI Engine Direct 模型集成到其应用程序中 或编译并静态链接model.cpp 和model.bin。 为了准备和执行模型(即运行推理),客户端还需要加载所需的 Qualcomm® AI Engine Direct 后端加速器和 OpPackage 库。 Qualcomm® AI Engine Direct OpPackage 库已注册并 由后端加载。

  6. 客户端可以选择保存上下文二进制缓存以及准备好的和最终确定的图表。看 上下文缓存供参考。 这样的图可以从缓存中重复加载,而不需要模型.cpp/库 任何进一步。从缓存加载模型图比通过准备加载模型图要快得多 模型 .cpp/库中提供的一系列图形组合 API 调用。缓存的图表不能 进一步修改;它们旨在部署准备好的图表,从而实现更快的 客户端应用程序的初始化。

  7. 客户可以选择使用Qualcomm 神经处理 SDK 生成的深度学习容器 (DLC) 与提供的 libQnnModelDlc.so 库结合使用,从应用程序中的 DLC 路径生成 QNN 图形句柄。这提供了单一格式 用于跨产品使用并支持无法编译到共享模型库的大型模型。使用详情 可以在利用 DLC 中找到。

2.4 Linux 上的开发人员

可执行文件和库可以在 SDK 的目标文件夹下找到,名称中包含“linux”、“ubuntu”或“android”。 请参阅不同平台的发布文件夹以供参考。 上述操作可以在Ubuntu系统等Linux操作系统下运行。

2.5 Windows 上的集成工作流程

2.6 Windows 上的开发人员

Qualcomm SDK 为 Windows 主机提供了三种不同的平台。对于熟悉Linux操作的用户来说, 我们建议在 Windows 上使用 WSL(适用于 Linux 的 Windows 子系统)。对于想要直接通过powershell环境在Windows-PC上使用工具的开发者来说, Qualcomm®AI Engine Direct提供基于x86_64-windows的工具。请检查以下先决条件。

WSL平台
对于 WSL 开发人员: Windows 主机上的工作流程与 Linux 主机上的工作流程相同,但某些步骤需要在 WSL (x86) 上执行 其他的将在 Windows 上本地执行,如下所述。由于 WSL 运行在 GNU/Linux 环境上,因此模型工具 和库应该分别从 x86_64-linux-clang 获取。 要了解有关 WSL 设置的更多信息,请访问 Linux 平台依赖项。

Windows 本机平台
对于 Windows 本机 PC 开发人员: 这些工具和库位于“x86_64-windows-msvc”文件夹中。工具与Python版本和设置密切相关。所以, 运行前需要设置好原生powershell的环境。请参考Windows下的设置 Windows 平台依赖项

  1. 对于 OP 定制,op 包骨架代码是通过在 WSL (x86) 上运行 Linux OpPackage Generator Tool 生成的。

  2. 对于上下文二进制生成,客户端可以使用 WSL (x86) 上的 Linux 上下文二进制生成器工具 或 Windows 原生 powershell。使用的工具可执行文件和库需要来自相应的文件夹,如针对不同平台的发布文件夹中所述。

  3. 对于模型库生成,模型库是通过在 Windows 上本机运行 Windows 模型库生成器工具来生成的。

  4. “集成工作流程”中提到的工具可以通过 WSL 或 Windows 本机 x86 应用。 工具中展示了按平台划分的工具支持列表。

  5. SC8380XP 上的 CPU 和 HTP 后端支持 ARM64X 封装格式。这些工具和库位于“arm64x-windows-msvc”文件夹中。 有关使用方法和详细信息,请参阅ARM64X教程。

笔记
使用 WSL 时,必须从 linux 文件夹获取模型工具,因为它是 Linux 的子系统。

笔记
当在 Windows 上本地运行时,模型库生成工具必须使用 python 运行。 有关示例,请参阅Windows 主机上的模型构建部分。文章来源地址https://www.toymoban.com/news/detail-773160.html

到了这里,关于Qualcomm® AI Engine Direct 使用手册(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unreal Engine 5.1 AI行为树基础入门

    ai行为树理解起来其实是npc根据自身一些情况进行一些逻辑执行,而这些逻辑是我们使用ai行为树去实现的。 ai行为树需要一个寻路网格体边界体积,在ue引擎中,体积Actor分为多种,寻路网格体边界体积只是其中的一种。 关于其它的体积,可以在官网网站查看 通过上面的介绍

    2024年02月11日
    浏览(36)
  • Elastic 发布 Elasticsearch Relevance Engine™ — 为 AI 革命提供高级搜索能力

    作者:Matt Riley 今天我们将向大家介绍 Elasticsearch Relevance Engine™(ESRE™) ,这是一种创建高度相关的 AI 搜索应用程序的新功能。ESRE 建立在 Elastic 在搜索领域的领导地位以及超过两年的机器学习研究和开发基础之上。Elasticsearch Relevance Engine 结合了 AI 的最佳实践和 Elastic 的文

    2024年02月06日
    浏览(39)
  • 游戏编程中的AI与物理模拟——用Unreal Engine创建惊艳的游戏世界

    作者:禅与计算机程序设计艺术 作为游戏开发者,我们经常需要在游戏中加入一些视觉、听觉或者触觉等交互性元素,并且给用户提供更具个性化的游戏体验。游戏制作人员也喜欢利用人工智能(AI)来辅助游戏制作过程,例如制作游戏中的怪物和敌人具有潜在的危险性,能

    2024年02月07日
    浏览(50)
  • Google Earth Engine(GEE) ——AI绘图工具Midjourney能替代传统设计师吗?

    近期智能AI话题爆火,前有ChatGpt,现又出现了一个AI绘图工具Midjourney,号称没有美术基础的人也能快速上手制作出漂亮的图像。也有不少声音表示设计师都要失业了。AI绘图工具能取代设计师吗?你可以参考以下角度来谈谈你的看法。 前言 – 床长人工智能教程 1,你目前从事

    2024年02月09日
    浏览(44)
  • 【AI人工智能】Phind:免费面向开发者的生成式 AI 搜索引擎 | FREE Generative AI search engine for developers

    Phind 通过简单的解释和来自网络的相关代码片段来回答技术问题。  与ChatGPT和new Bing一样,Phind由大语言模型(Large Language Model (LLM))驱动。体验后,个人感觉在技术方面的检索能力和质量上Phind 比 new Bing 和 ChatGPT 的体验要好得多。 Phind也支持非开发人员相关问题回答,响应

    2023年04月19日
    浏览(53)
  • Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

    一、简介 2. Unity相当于什么GameObject? 3. 如何设计一个由多种资产、生物等组成的关卡? 4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”相当于什么? 5.Unity子目录相当于什么Assets? 6. 支持哪些模型格式? 7. 支持FBX模型格式吗? 8.

    2024年02月07日
    浏览(76)
  • Qualcomm 机器人 RB5 开发套件用户指南(4)

    4.5.3 相机用例 本节介绍以下相机用例:本地显示实时预览、设备中保存的视频录制、显示快照、视频录制快照、双机并发、多机多客户端。 本地显示相机实时预览 笔记 该export WAYLAND_DISPLAY=wayland-1命令仅适用于Linux嵌入式系统。 在 shell 窗口中运行以下测试命令adb: 下图为主

    2024年02月20日
    浏览(40)
  • 高通Qualcomm处理器的手机或设备进EDL 9008模式的办法

    适用于变砖的设备 由于我们有很多基于 Qualcomm 的设备,其中一些设备可能会古怪地猜测如何进入 EDL 模式,或者如何正确进入。 例如,对于 Alcatel,您必须先按住两个音量键,然后再按住其中一个,对于 CAT B35,您必须按住 * 和 #,对于 8110,您必须按住 Up 和 Down,在此期间您

    2024年02月09日
    浏览(47)
  • Wifi7 M.2 moudle|Qualcomm QCN9274 chip|2.4G/5G/6E

    Wallys developed and designed the wifi7 M.2 moudle, using Qualcomm QCN9274 chip, currently there are two versions 1. DBDC: supports both 2.4G and 5G frequency bands. 2. DB: Support 5G or 6E frequency band. Let\\\'s take a look at the introduction of the M.2 moudle and the use of the QCN9274 chip: On the Wi-Fi motherboard, the M.2 card is used to install the wir

    2024年02月03日
    浏览(37)
  • 使用python下载wallpaper Engine订阅的壁纸/视频

      在游戏平台steam上,有一个壁纸软件wallpaper Engine,人称小红车,里面有各种好看的动态壁纸和视频,可以给我们的电脑设置动态桌面,非常好用。   用过几次后,我有了一些痛点,就是软件只能启动的时候才有这个桌面壁纸(当然这非常合理),但是我很喜欢这张壁纸

    2024年02月03日
    浏览(196)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包