将推理、场景分类、图像处理和视频回放增强之类的工作负载放到边缘设备(如智能手机)的cpu和gpu进行处理,会耗尽运行周期并缩短电池使用寿命。dsp编程越方便,您的应用就能更快地以更高性能和更低功耗运行类似的工作负载。
因此,我们新发布的hexagon dsp sdk 3.3.2到处都体现了“可用性”。
如果您是嵌入式开发者,会发现工具包包含了各种常用的编程工具。如果您是移动应用开发者,也会找到顺利过渡到dsp编程所需的一切。坦白说,这些工具对部分人员来说可能觉得难以应付,但其实大可不必有这种想法。
本文将一一介绍sdk中包含的更高可用性方法。
1. 不用从头开始dsp编程。我们为您提供了大量的示例代码。
为显示我们对可用性的认真态度,我们添加了sdk示例代码和文档。您可以找到hexagon vector extensions(hvx)基准示例代码,和在hexagon上使用halide的示例代码。另外,还更新了入门指南和分析器、模拟器和调试器文档。我们制作了qurt(运行在hexagon上的实时操作系统)和dsp compute用户指南,并更新了hvx上下文保存/恢复功能。
2. 不用重写c++算法。我们已经在dsp上提供了相关支持。
很多开发者受到高性能和低功耗的双重诱惑,而从嵌入式领域转向dsp编程。之前他们花了多年时间完善运行在cpu上的c或c++算法,例如低光视频捕捉、图像稳定或卷积神经网络。如果不能确定是否能够实现承诺得好处,不会有多少人愿意再重新为dsp写代码并进行优化。
从去年1月份开始,我们提供了一个编译器和库,利用hexagon sdk在dsp编程时使用c++语言。现在,在sdk 3.3.2中,我们更新了编译器工具链,允许在hexagon dsp上执行以c++ 11/14编写的框架和算法。
这就意味着无需重新编写这些算法,就可以直接为dsp重新编译,并在hexagon上运行。这是第一个巨大的进步,您会看到性能提升和耗能减少。大多数情况下,我们希望您作进一步优化。
3. 不用编写自己的编程工具。我们已经提供了编程工具。
hexagon包含dsp逻辑以及类似于cpu的功能和特性,因此可以将其视为嵌入式处理器。在hexagon sdk 3.3.2中,我们补充了用于编写、调试和分析的工具集,确保您的应用从底层硬件中获得最大收益:
•完整的工具箱——在sdk中,您可以找到完整的llvm工具链(编译器、链接器、汇编器)、诊断日志记录、性能监视器、动态链接器和加载器以及支持协同仿真和虚拟平台的仿真器。
•调试器——我们增加了lldb支持,意味着能更好地支持c和c++代码。现在,当您通过usb连接开发工作站和参考板或设备时,可以在ide中执行常见的调试操作,例如单步执行调试代码,使用断点,检查寄存器或内存内容。
•ide插件——sdk包含eclipse ide插件,以便更好地与开发环境集成。
•profiler——在dsp分析器sysmon中,我们完善并允许您访问相关功能,方便您更深入地了解算法性能。为帮助您了解代码在hexagon上的执行情况,sysmon收集并显示性能、缓存和其他相关指标。
有了这一功能强大的补充,您会发现sdk更加易用。
4. 不用构建自己的图像处理语言。我们为您提供了halide工具。
如果您开发相机和图像项目,可能听说过或使用过halide,实现高性能视觉和成像算法。我们认为halide和hexagon是绝佳搭配,所以我们联合google一起为hvx构建了一个halide工具集。以下是我们为您提供的工具:
•halide编译器——作为hexagon sdk 3.3.2和hexagon llvm工具集的一部分,halide工具集提供了一个针对hexagon dsp和hvx的halide编译器。这意味着,如果您熟悉c++语言结构,就不需要深入了解底层处理器架构,就可以开始编写halide程序。相反,您可以把精力集中在从dsp为图像算法获得尽可能多的性能。
•halide运行环境——利用此运行环境,您可以通过添加一个简单的.hexagon()指令,轻松地将内核函数透明分派到hexagon。这在异构计算中十分方便。
•halide简洁性——我们自己在qualcomm骁龙835和845移动平台设备上进行的图像处理测试中,首先从一个大约有175行汇编代码的高效算法开始。然后把它重写成一个c例程,大约有100行代码,性能略有下降。最后,我们使用halide重写,不到二十几行代码,获得和汇编代码相同的性能。 当然了实现情况因人而异,但如果您喜欢编码紧凑,halide也许是您的菜。
5. 不用编写自己的神经网络库。我们为您提供了一个。
越来越多的人谈论设备端处理如何给ai应用带来优势,以及如何在云端训练神经网络模型,然后在设备端运行推理。大多数公司都试图在cpu或gpu上优化ai处理,但在 qualcomm technologies,inc.(qti) ,过去数年时间我们一直在对dsp上的ai处理进行优化。
下一步:下载sdk
虽然hexagon是骁龙异构计算模型的一部分,但hexagon dsp sdk 3.3.2本身看起来就像是个嵌入式开发平台。它支持搭载骁龙sdm630、sdm660、sdm820、sdm835、sdm845和sdm670的设备。
•现在就下载sdk,看看它能在性能和功耗方面给您带来哪些优势。
•下载halide,更方便地编写高性能图像处理代码。
二叉树按任意顺序,返回所有路径程序实现
基于DSP和X5165芯片的非易失性数据存储设计
基于LM12CLK的100W音频放大器电路图
笔记本和台式机处理器差在哪 笔记本最常见的处理器都有哪些?
2021曙光区块链存储系统强势来袭
一文解读SDK中包含的实用性方法
NVIDIA Triton 系列文章(7):image_client 用户端参数
到2027年全球智能虚拟助手市场的复合年增长率将达34.0%
舆芯半导体成功完成近亿元天使轮融资,加强车规级MCU芯片技术研发实力
非接触式ic卡的优缺点
iPhone SE2的消息又双叒来了,你还相信吗?
电力监控系统的主要功能 电力系统的主要作用
数字化成汽车零部件发展趋势,数商云SRM系统库存管理模块助力企业转型升级
华为HMS Core 5.0上线,服务能力开放可覆盖七大领域
AI实现拐角处的实时汽车成像有什么意义
Excel新功能要逆天 微软把Python加入Excel
“站在后天看明天”:华为给金融广厦架起数字栋梁
给电动车充电,一定要做好这三点,电池续航更持久
LED照明灯的功率因数和功率因数补偿的关系解析
你会辨别ESD静电保护器的正负跟方向吗?