0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文解读SDK中包含的实用性方法

电子工程师 作者:工程师姚远香 2018-06-15 10:15 次阅读

将推理、场景分类、图像处理和视频回放增强之类的工作负载放到边缘设备(如智能手机)的CPUGPU进行处理,会耗尽运行周期并缩短电池使用寿命。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
    dsp
    +关注

    关注

    551

    文章

    7828

    浏览量

    346980
  • 编程
    +关注

    关注

    88

    文章

    3527

    浏览量

    93309
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1011

    浏览量

    45447
收藏 人收藏

    评论

    相关推荐

    谁有包含cadence 16.5中文版的cadence 16.6版本含破解?

    请问哪位大侠有包含cadence 16.5中文版的cadence 16.6版本含破解。请给个链接!!!!!!!!!!!!!!!!
    发表于 05-11 10:06

    详解激光雷达核心指标,实用性和可靠

    ``激光雷达行业非常广阔,每个细分方向都可以大有所为。就单线激光雷达而言,致力于解决好机器人的自主定位导航能力,能突破的道路只有条:以实用性和可靠作为第考虑,而非
    发表于 02-02 14:06

    如何衡量棒材测径仪的实用性和可靠

    整体产品的实用性和可靠,更好的参数不定能带来更好的产品,可能还会带来其他方面的缺失,为了能使其更有效的工作,采用了多种技术,使其稳定测量,高效测量。  在外径自动测量仪实际使用
    发表于 03-08 15:08

    请问SDK包含是变化的还是?

    SDK包含是变化的还是?有谁能告诉我Rohan的事吗? 以上来自于百度翻译 以下为原文 dear sir, i have downloaded the SDL for linux "
    发表于 06-20 13:59

    实用性很强的程序分享!

    借原子哥宝地。。。。很多实用性很强的程序,定会解决你垒码时遇见的问题,欢迎来看看!!帮收藏下也好.......https://shop60994719.taobao.com
    发表于 08-19 21:50

    解读HEVC视频标准的环内滤波,看完你就懂了

    解读HEVC视频标准的环内滤波,看完你就懂了
    发表于 06-03 06:08

    如何用CCS分析解读CC3200 SDK工具包的blinky流水灯文件?

    如何用CCS分析解读CC3200 SDK工具包的blinky流水灯文件?
    发表于 01-25 07:09

    简析RK3326 SDK软件架构

    的Linux4.4,提供安全、内存管理,进程管理,网络协议栈等基础支持,主要是通过linux内核管理设备硬件资源,如CPU调度、缓存,内存、I/O等  (3)Libraries层对应般嵌入式系统,相当于
    发表于 09-16 17:04

    ESP8266中文SDK编程手册

    2A-ESP8266__IOT_SDK_User_Manual SDK使用手册 2B-ESP8266__SDK__IOT_Demo 2C-ESP8266__SDK__Progra
    发表于 12-30 14:48 0次下载

    机智云SDK Logs分析教程

    、概述 机智云的SDK日志包含了大量的信息,极大的方便开发者定位问题,但很多开发者都看不懂这些日志,因此该份教程讲述如何从SDK的日志中
    的头像 发表于 07-27 11:12 1602次阅读
    机智云<b class='flag-5'>SDK</b> Logs分析教程

    Linux系统SDK基本介绍

    今天主要和大家聊聊,如何使用SDK包的方法
    的头像 发表于 12-06 11:48 1293次阅读

    解读GNSS信号对网络授时应用的益处

    涨知识 | 解读GNSS信号对网络授时应用的益处
    的头像 发表于 11-24 14:26 411次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>解读</b>GNSS信号对网络<b class='flag-5'>中</b>授时应用的益处

    js如何判断数组包含某个特定的值

    在JavaScript,我们可以通过多种方法来判断个数组是否包含某个特定的值。以下是些常
    的头像 发表于 11-30 16:21 1277次阅读

    振弦采集仪在岩土工程地下水位监测实用性与优势探析

    实用性与优势探析 ,振弦采集仪具有高精度的特点。振弦技术是种基于共振原理的测量方法,通过对振弦的振动频率和振幅进行测量,可以准确地确
    的头像 发表于 05-30 13:50 174次阅读
    振弦采集仪在岩土工程地下水位监测<b class='flag-5'>中</b>的<b class='flag-5'>实用性</b>与优势探析

    振弦采集仪在岩土工程基坑监测实用性与效果评估

    振弦采集仪在岩土工程基坑监测实用性与效果评估 振弦采集仪是种基坑监测中常用的测量仪器,通过测量土体振动参数,可以评估基坑振动对周围环境和结构的影响。本文将从实用性和效果两方面评估
    的头像 发表于 06-04 13:38 131次阅读
    振弦采集仪在岩土工程基坑监测<b class='flag-5'>中</b>的<b class='flag-5'>实用性</b>与效果评估