首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

通过软件释放异构计算的潜能

通过软件释放异构计算的潜能

如果您一直在关注我写的有关异构计算的系列博客,应该记得我之前解释过为什么新兴应用需要异构计算,为什么处理器多样化很重要。而在最近的博客中,我解释了采用系统级方式运用异构计算的重要性。然而,要想真正充分释放异构计算的潜能,除了出色的硬件,还需要很棒的软件和工具。那么,下一个问题自然是:开发者如何利用异构计算?

美国高通技术公司在近期的一次网络研讨会上论述了这个问题,总结了我们为移动异构计算提供的软件,包括访问多种处理核心的不同方式。我从网络研讨会得出的两个要点是:

• 美国高通技术公司提供全面的异构计算软件解决方案满足开发者的多种需求

• 异构计算目前正广泛存在于各种应用程序中

全面的异构计算软件解决方案

开发者在访问一个异构计算系统的多种处理核心时有着不同需求。一种极端情况是,一些精通编程和处理器架构的开发者希望能够深度优化某种特定处理核心的算法。另一种极端是,一些开发者更希望基础处理器架构被剔除掉,只留下容易操作的高级函数调用和应用程序接口(API)。

如下图所示,美国高通技术公司为开发者提供访问骁龙处理器内多种异构核心的渠道分为三个级别:域库、新兴行业环境和本地访问。

对于那些希望利用异构计算的益处、又想避免进行处理核心精确编程的开发者来说,美国高通技术公司为不同处理核心优化了许多域库。“域库”旨在向应用开发者提供常见用户体验所需的关键功能。例如,FastCV能加快如实时计算机视觉(CV)应用所需的人脸检测等关键功能。美国高通技术公司优化了FastCV的各种功能,让这些功能在适合的处理核心上运行,比如使某些功能在CPU、VeNum、GPU或DSP上运行,实现以最低的功耗提供最高的性能。事实上,内部测试显示,某些FastCV功能的性能提升了51倍。

对于那些在不同处理核心之间寻求一致编程环境的开发者,美国高通技术公司提供RenderScript和OpenCL等新兴行业环境。事实上,美国高通技术公司在所有Adreno 3xx GPU上都支持OpenCL,涵盖从大众市场层级到最高层级的骁龙处理器。

对于那些熟悉基础处理器架构并希望从硬件中“榨取”最大性能和功率效率的专家级开发者,美国高通技术公司提供本地访问处理核心的几种工具:例如用于DSP的Hexagon软件开发工具包(SDK);用于CPU的骁龙LLVM;以及用于GPU的Adreno软件开发工具包。“本地访问”是一种编程模型,它最小化地从不同处理核心的指令集架构中提取内容,让开发者能够最大限度地接近硬件。对于需要特定处理核心的全功率和专用功能的高强度计算来说,这种访问级别十分必要。美国高通技术公司通过本地访问构建优化的新兴行业环境和域库。

此外,美国高通技术公司还为开发者提供全面的工具、手册和参考代码,让异构计算编程变得更加容易。

异构计算正在进行时

借助在系统架构和软件领域的专业技术,美国高通技术公司通过对关键功能进行系统级编程,充分利用异构计算的优势,从而在异构计算方面树立领先地位。OEM厂商和独立软件开发商(ISV)还利用异构计算提供关键的差异化性能。

此外,网络研讨会还得出一个重要结论:许多开发者正从异构计算中受益,即便他们不知道自己正在运用异构计算。例如,Vuforia扩增实境平台就使用FastCV。市场上目前有4000多种Vuforia应用,均采用异构计算。还有许多应用程序采用针对异构计算而优化的其他域库。

另外,开发者也已开始意识到新兴行业环境和本地访问带来的益处。异构计算带来的功率和性能方面的巨大优化,我相信会有越来越多的应用程序采用该技术。

总之,美国高通技术公司正在三个关键领域大规模提供异构计算,具体包括:提供具有不同软件访问级别的综合工具、多种处理核心,以及覆盖大众市场及顶级移动终端的全线产品组合。

欲了解高通关于异构计算的更多观点,敬请关注之后的博客和研讨会。

出自:高通公司
返回列表