Qualcomm Hexagon SDK 3.0 ——DSP 功能与效率

Qualcomm Hexagon SDK 3.0 ——DSP 功能与效率,第1张


“我希望使用DSP编程,让我的应用也能利用异构计算。不过,它究竟是如何提升处理功能,改善计算效率,降低功耗的呢?”


软件开发者的大多数问题最终均可归结为这一点。在上一篇文章中,我讲述了开发人员利用Hexagon SDK 3.0的Hexagon™ Vector eXtensions (HVX) 创建的应用。他们利用SDK开发视频、计算成像、计算机视觉(CV)、机器学习及全时服务用例,这些用例往往要求更多的CPU资源,同时也是耗电大户。


本文中,我将给出三点理由,说明他们为什么要使用SDK 3.0。


1. 提升处理能力:每个时钟周期同时处理高达 1024位数据


HVX宽度——可同时处理的数据位数——每个时钟周期应用可执行更多工作。


标准移动CPU为32位指令宽度,其计算协处理器扩展4倍,达到128位宽度。基本Hexagon处理器为64位指令宽度,是移动CPU正常宽度的两倍,而HVX协处理器扩展了8倍,达到1024位宽度。如下图红色所示,Hexagon DSP可结合两个512位矢量模式单元,在单一时钟周期处理1024位数据。HVX使用超长指令字(VLIW)实现惊人的工作宽度。因此,内置HVX的Hexagon拥有比标准移动CPU 高出8-32倍的性能。




HVX 还具有另外一个重大优势。对移动CPU而言,利用了协处理器,则标量处理器就处于空闲,鱼和熊掌不可兼得。而对Hexagon处理器来说,协处理器和标量处理器可以同时执行指令,因此,可两者兼得。


为什么这一点很重要?假设您在移动CPU控制代码模式进行处理,然后切换到协处理器的计算模式。此时,如果您需要使用控制代码,就必须暂停,从协处理器返回到主CPU。而利用Hexagon处理器,DSP的控制代码处理器和HVX的计算代码处理器可同时运行,紧密耦合控制和计算代码。这样,DSP可以获取HVX计算结果,并且用于下一个时钟周期的控制码决定。Corephotonics和SMI在他们的应用中利用了HVX紧密耦合的控制和计算代码。


2. 提高计算效率:绕过 CPU的流式处理


HVX的流式处理模式适合于极低功耗相机处理。将数据直接从相机流传输到Hexagon DSP本地内存(二级缓存),HVX使得超越摄影的新用例成为可能,比如计算机视觉(CV)、计算成像和机器学习。


HVX绕过执行相机处理功能的DDR存储器控制器和外部存储器,而利用现有二级缓存进行处理,旨在降低摄像头和视觉处理算法延迟、耗电量和CPU/DDR访问需求。


在相机流处理的例子中,比方说您的应用需要将数据从相机感光元件移动到设备处理器。如果没有HVX,应用需将数据读取到DDR内存,然后由CPU读取DDR执行计算,这样,在真正的处理还没有开始之前就消耗了数十毫瓦电量,并且造成DDR内存往返延迟。利用Hexagon SDK 3.0,您可以在Hexagon DSP的HVX中直接处理流式传输,避免临时存储,省却传输步骤,而且还不用涉及到CPU。


事实上,Qualcomm® Snapdragon™处理器的CPU和其他元件的设计就是在整个 *** 作中保持空闲。通常情况下,如果其它元件参与的话,整体芯片会消耗更多电量,但是,如果只需要DSP就能满足要求,就没有必要调用这些元件。


通过直接在DSP运行数据,HVX可以在本地处理数据,尽可能地降低总耗电量。这一点对于集成视觉和机器学习的应用来说尤其有用,可以在隔离状态下立即处理相机数据。如果DSP上的机器学习确认某事件需要额外的处理能力,HVX可以触发调动芯片上的其他元件。


3. 降低功耗:始终在线感知


智能手机越来越聪明,如果它们能够始终保持警觉,就更加有用了。保持警觉的重要一环就是依赖DSP的始终在线感知:


HVX 解决了始终在线感知领域两个挥之不去的问题。首先,始终保持警觉需要消耗巨多电量。但是,运行在DSP的HVX 本身耗电量极低,而且无需调动其它元件就可以做到始终在线感知。其次,视觉一直是最难以捉摸的始终在线感知能力,因为相机数据流式传输时会经过主芯片。但是,HVX 打通了一条直接从相机传输数据到DSP的通道。和其他感知能力一样,借助HVX,始终在线的视觉只有在需要额外处理能力时才会调用芯片的其它元件。


以前的文章中我介绍了Hexagon DSP编程将带来高性能、低功耗的优势。您不妨试试它在始终在线感知状态下的表现。


接下来...


您现在可以开始使用HVX了,因为搭载了Snapdragon 820处理器的商业设备,包括OnePlus 3、HTC 10、Samsung Galaxy S7、LG G5内置HVX。一些厂商依靠HVX使他们产品的相机和视频功能独树一帜。


Hexagon SDK 兼容 Windows与Linux。下载Hexagon SDK 3.0,看看您如何针对自己的应用提高处理能力、改善计算效率、降低耗电量。



  • 始终在线的语音——设备关闭,等待您称呼它,识别您的语音或关键字。

  • 始终在线的触摸——设备在后台监控屏幕,在您触摸屏幕时唤醒。

  • 始终在线的传感器——罗盘、加速度计等传感器连接到传感器中心,等待需要额外处理的事件。

  • 始终在线的视觉——相机将数据流传输到设备,仅在出现阈值事件才触发处理。



更多Qualcomm开发内容请详见: Qualcomm开发者社区 


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2645855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-12
下一篇 2022-08-12

发表评论

登录后才能评论

评论列表(0条)

保存