异构计算中的挑战与解决方案

描述

  程序员在使用现有编程语言实现应用程序方面历来面临重大挑战。其中最重要的是异构处理器中固有的多本机指令集架构 (ISA)。如今,由于引入了异构系统架构 (HSA),这些担忧正在得到解决。

  复杂的片上系统 (SoC) 是当今大多数电子产品的核心。通常由广泛的 IP 块组成,通常来自不同的供应商,这些块包括从通用处理器 (CPU) 到深度神经网络 (DNN) 的所有内容。每一个通常都是用不同的专有语言设计和编程的,为开发人员创建了一个技术“巴别塔”。可以理解的是,必须找到一种解决方案,该解决方案能够有效且具有成本效益地解决当今日益增长的硬件多样性。

  向异构架构迈进

  异构系统架构已成功解决了多个不同处理器的编程问题并利用了异构的力量。开发人员越来越意识到异构芯片及其在显着降低执行复杂计算应用程序所需功率方面的潜力。当程序针对专门的异构系统进行优化时,每个系统处理器都可以使用该特定功能所需的最少功率来执行代码。结果是比非异构系统在更低功率下的性能更高。

  但是 HSA 还有另一个好处,它最终允许开发人员更快地设计和编程日益复杂的异构系统。它有助于确保在正确的时间为正确的任务使用正确的处理器。结合高速缓存一致的共享虚拟内存,HSA 系统实现了对内存的高带宽访问,提高了应用程序性能并降低了功耗。

  两全其美

  异构计算结合了通用计算和专用计算的优点。它指定了 CPU 如何与加速器“对话”,并且经常发现两者都集成在同一个硅芯片上。因此,异构处理器(例如 CPU、GPU、DSP、FPGA、专用加速器等)最终可以集成并协作,以实现给定应用的性能和功耗的理想平衡。可以理解的是,当今大多数设计师都倾向于在他们构建的系统中进行更大程度的集成。虽然这给设计过程增加了一定程度的难度,但这种方法的好处——速度、更少的设备和更低的总体成本——超过了固有的挑战。

  创建统一标准

  自 HSAF 于 2012 年成立以来,HSA 计算标准取得了重大进展。如今,不仅有免版税的开放规范可用,而且还有完全可操作的生产系统。HSA 对系统设计人员的吸引力越来越大。它简化了异构编程,创建了允许使用许多常见编程语言(包括 C/C++、Python、OpenCL、Java 等)对不同类型的处理器进行编程的标准。HSA 巧妙地使用单个源文件并自动将应用程序的一部分分发到进行实际计算的最佳处理器。

  调查强调了 HSA 的广泛吸引力

  在最近对 HSA 基金会成员进行的一项调查中,100% 的人表示他们的系统具有 HSA 功能,80% 的人现在符合 HSA 标准。受访者还提到改进的 SoC 设计和编程流程、来自不同 IP 供应商的模块之间更大的互操作性、更高的性能和更低的功耗。大多数公司表示他们将继续使用多种编程语言,包括 ISO C++、ISO C11/C99、OpenMP 3.1/4.0 with C 和其他几种语言。受访者还表示需要为包括全局调试在内的技术开发解决方案,进一步定义内存模型、安全性、虚拟化和 HSAIL 扩展。

  给用户带来好处

  异构系统是各种技术颠覆的核心。平板电脑、智能手机和科学计算机都是作为专门系统创建的。展望未来,异构架构在创建下一代颠覆性设备方面发挥着至关重要的作用。这包括 46% 的台式机和移动设备;69% 的服务器、物联网和嵌入式设备以及 92% 的人工智能和计算机视觉系统。

  审核编辑:郭婷

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

全部0条评论

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

×
20
完善资料,
赚取积分