如何利用FastRPC技术将负载从CPU转移至 Qualcomm® Hexagon™ DSP

人工智能

636人已加入

描述


无人机、机器人和照相机有何共同点?


它们都可以在实时任务中充分利用DSP(数字信号处理器)获得更高性能。在无人机领域,这意味着飞行控制;在机器人领域,这意味着平衡和行走;在照相机领域,这意味着图像预处理和后处理。实时计算任务可从CPU迁移到DSP,朝着更高性能迈出了一大步的同时,还能大幅削减功耗。


如何使用Hexagon™ DSP(数字信号处理器)和FastRPC


在Hexagon SDK支持FastRPC技术,这是一种远程流程调用框架,允许客户端在Qualcomm® Snapdragon™处理器(APPS)和应用程序数字信号处理器(aDSP)之间轻松进行远程方法调用。目前DragonBoard 800开发板所集成的Snapdragon 8074处理器上已应用这一技术(DragonBoard 800开发板是Intrinsyc Technologies Corporation公司的产品),Snapdragon 8084和Snapdragon 8994也采用该技术。FastRPC围绕着数个特性进行设计,尽可能简化计算任务卸载:


•启动远程调用和在本地调用看起来并无两样,你通过IDL(接口描述语言)提供功能定义。


•工具自动生成接口头文件和库来处理参数传递和缓存一致性。


•对于FastRPC调入动态模块,框架为你加载aDSP(应用程序数字信号处理器)模块。


•FastRPC具备同步性。这消除了异步调用时aDSP(应用程序数字信号处理器)和APPS(Qualcomm® Snapdragon™处理器)之间内核管理状态的复杂性。


下图展示了单一方法调用,其中客户端驻留在APPS(例如,Snapdragon CPU)中,对象驻留在aDSP(例如:Hexagon)中。存根和框架为自动生成,你只需调用来自移动应用程序处理器的功能,并在aDSP中执行该功能。


在支持FastRPC的Android设备上,请按照如下步骤将你的工作卸载转移至aDSP上。


1.下载并安装Hexagon SDK。


2.在IDL(接口描述语言)中描述你工作的API(应用程序编程接口)。


3.自动生成头文件、存根和框架库。


4.在DSP(数字信号处理器)上执行API(应用程序编程接口),将其链接至框架库成为一个共享对象,然后将该共享对象推送至设备。


5.将存根链接至你的Android原生app,然后调用你的API(应用程序编程接口)。


6.(可选项)为你的API(应用程序编程接口)创建Java绑定,并从APK(Android安装包)文件中调用该API。


大功告成。


能做个一个无人机开发者套件?


并非完全如此。


但是,我们看到有开发者利用Snapdragon处理器正朝着该方向努力,Hexagon DSP也是如此。除了多媒体外,你可以用这枚DSP做很多事情,为自己努力挖潜吧。


如果你是一名无人机或机器人开发者,且正在寻求更快地执行实时任务同时兼具更低功耗,请申请获取Hexagon SDK。其中包括调用FastRPC的完整文档和代码示例。


敬请关注更多关于调用Hexagon的技巧和用例。


————————————————————————————————————————————————————————


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


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分