谢丫丫

复杂系统需要一个简单的API

0
阅读(101) 评论(0)

标准组织的主席呼吁参与简化对正在变得流行的异构系统的编程。

1月,Khronos集团创建了一个探索小组,以确定该行业对开发嵌入式异构通信的简化开放标准的兴趣。如果有足够的兴趣,Khronos将组成一个工作组,并邀请所有感兴趣的各方合作开发多供应商标准。

Khronos拥有经过验证的多公司治理流程。它是一个由硬件和软件公司组成的开放联盟,可以创建先进的加速标准。

二十年前,用于系统建模,仿真,图像和信号处理的嵌入式实时处理通常使用按比例缩小的超级计算机体系结构 - 以并行对称拓扑互连的相同处理器的同质阵列。这些架构的编程解决方案最初是分散的,通常使用硬件供应商或微处理器专用软件层来处理处理元件之间的通信。

随着时间的推移,对可移植性的需求推动了新开放标准的发展。例如,MPI(消息传递接口ICfans)不断发展,使开发人员能够创建在这些同构并行体系结构上运行的高性能,可伸缩和可移植的应用程序。

在过去十年中,多核CPU,DSP,GPU和FPGA等新技术提供了数量级更多的嵌入式处理能力。今天的架构越来越异构。

结合FPGA,多核CPU和强大GPU的现代系统现在可以取代十年前拥有数十到数百个处理器的系统。这种SoC技术可以在一块硅片上集成多种处理架构,其性能与90年代后期的超级计算机相匹配。

这些新的高性能嵌入式计算(HPEC)架构已经实现了快速扩展的大量新嵌入式应用,例如虚拟和增强现实,物联网/云计算,医疗设备,机器人和自动驾驶汽车。

标准组织的主席呼吁参与简化对正在变得流行的异构系统的编程。

遗憾的是,传统的编程模型和处理元件之间通信的开放标准落后于HPEC硬件革命。互连拓扑结构变得支离破碎,变得更加复杂。不再有一个清晰,统一的API可以驱动异构架构引入的所有新通信接口。

例如,下图显示了当今HPEC开发人员可能必须用于在计算元素之间进行通信的许多软件API的示例 - 通常在同一应用程序中。

文本

今天的异构系统的软件视图。(图片来源:Khronos)


压倒一切,不是吗?相对较新的标准已经发展到解决问题的子集。

例如,MCAPI解决了低级核心核心通信问题。OpenMP具有更高级别的抽象。HSA抽象了与GPU配对的CPU的异构架构的复杂性,但不是为设备间通信而设计的。

最重要的是,目前没有一种适合所有需求的通信API。下面的方法不会更好吗?

文本

明天的异构系统软件视图的一种可能性。

从根本上讲,沟通就是将数据从一个端点转移到另一个端点。如果可以将这些通信概念抽象为简单,统一,高级的开放式API而不会影响低级别的性能和灵活性,那么这个新的开放标准可能是开发人员想要专注于算法开发的一站式服务而不是处理器间通信的复杂性。

现有通信标准的另一个重要关注领域是复杂性。随着对在我们的天空,道路和家中运行的高性能,异构架构的需求,安全认证是关键。为了最大限度地降低认证成本,API必须尽可能简单 - 一个小巧,简化的通信标准可能是一个重要的帮助。

因此,如果您是航空航天,汽车,机器人,工业,医疗或物联网应用,或芯片,电路板和系统硬件供应商,或嵌入式软件工具和操作系统供应商的开发人员,这里有一个独特的机会。在开放标准的方向发声,这将影响您的行业。