人工智能
如何提高应用性能?如何充分利用硬件?
如果有限的处理能力、能量管理和发热量问题对于您的产品性能来说十分重要,那么异构计算可能是您解决问题的答案。
当我们在谈论异构计算时,我们在谈论如何利用Qualcomm®Snapdragon™系统芯片(SOC)独立处理“模块”,有效地处理应用所请求的任务。我们谈论它,是因为它真的有助于充分利用Snapdragon处理器。
它是如何工作的呢?假设您有一个程序,执行很多简单运算,例如向量数据相乘。可以将计算传递给为数据并行而优化的处理器(如GPU):GPU经过精简可以针对大量数据执行简单指令,同时保持高效节能。如果将相同的任务分配给通用的复杂指令处理器(如CPU),将消耗更多能量,并且性能通常不能与之相比。而在另一方面:对于围绕简单处理模型进行优化的处理器,为其分配拥有大量分支逻辑、指针雕镂和操作的程序将是低效的,但是相同的程序对于CPU而言可以完美执行。
我们可以通过类比举例,假设有一家生意很火的餐馆,CPU为主厨,GPU为助理厨师,DSP作为配菜厨师。当有订单进来时,主厨不是包办一切——因为这样做不能高效地为客人提供服务。主厨将任务分配给能够高效完成任务的专业人员,提高厨房的整体能力,从而满足客人的需求。
这也是异构计算的基本原理:如果并行SOC专用处理模块可以更有效地完成任务,那么,CPU就不应该操劳过度,连续处理所有任务。
考虑到今天的移动、VR和物联网应用结合了高度专业化的计算操作与复杂的处理指令,将其作为整体应用体验的一部分,开发人员需要的是一个用于异构计算的系统,从而选择最适合的处理器完成应用任务。
Snapdragon处理器完全支持异构计算,您可以控制SOC内的处理分布。通过选择如何将任务分散到不同的处理模块,并使用相关的SDK来微调这些子组件,您可以在硬件级别优化应用性能。
那么,Snapdragon中包括哪些专门用于处理不同任务的“处理模块”?
首先是Qualcomm Kryo™CPU。它是骨干兼任务主管,执行大部分常规处理工作。复杂的执行逻辑、通用指令由它执行较为理想。
其次是Qualcomm Adreno™GPU。这个模块最适合处理图形以及涉及机器学习和AI的复杂计算。GPU在对庞大数据执行类似计算方面表现优异。
第三就是Qualcomm Hexagon™DSP。DSP最适合处理来自外部的数字信号,如智能手机摄像头和麦克风产生的数字信号。
Snapdragon中GPU、DSP和CPU如何协同工作
在Snapdragon 处理器中使用这些异构处理器有助于实现更佳性能,同时最大程度地降低功耗和发热问题。
您可以利用QDN上提供的软件资源(如SDK和概要分析器),以使用异构计算技术,真正发挥出应用性能(而不会出现过热问题)!
异构计算技术为进一步拓展移动应用——从虚拟和增强现实到机器学习应用和物联网——铺平了道路,这一点令人振奋。
在本系列下一篇文章中,我们将详细介绍所涉及的工具。第三部分将介绍如何使用这些工具实现高级优化!敬请期待!
更多Qualcomm开发内容请详见: Qualcomm开发者社区 。
全部0条评论
快来发表一下你的评论吧 !