嵌入式市场对图形和计算加速的需求正在增长。摄像头和传感器阵列在从汽车到工业等不同行业的许多用例中越来越重要,并且正在产生越来越丰富的数据流,需要复杂的处理。
与此同时,正在使用高质量的3D图形甚至增强现实技术开发高级用户界面。然而,部署加速处理的需求,加上安全关键认证的复杂性,造成了处理器、加速器、编译器、API 和库的混乱局面,推高了嵌入式加速器的集成成本,这反过来又限制了创新和上市效率。
开放标准在帮助硬件和软件供应商成功驾驭这一复杂的技术环境方面发挥着重要作用。嵌入式市场的加速标准可以实现跨平台软件的可重用性,解耦软件和硬件开发,以便更轻松地部署和集成新组件,提供跨代可重用性,并促进现场可升级性。这些标准可降低成本,缩短上市时间,并降低在引人注目的实际产品中使用推理和视觉加速等先进技术的障碍。
克罗诺斯加速标准
20 多年来,Khronos 创建了开放、免版税的 API 标准,使软件应用程序库和引擎能够利用硅加速的强大功能来处理 3D 图形、增强和虚拟现实、并行计算、视觉处理和推理等要求苛刻的用例。
Khronos 开放、免版税、互操作性标准
许多行业专家一致认为,我们正面临摩尔定律的终结,因此业界对并行计算的兴趣日益浓厚,它将加速的重点从单核的频率缩放转移到使用大型内核阵列的处理器,这些内核可用于显着加速数据并行算法。
从广义上讲,用于并行计算的Khronos加速标准可以分为两组。高级编程框架(如 SYCL 和 OpenVX)专注于简化开发,并跨多个硬件架构提供有效的性能可移植性。相比之下,OpenCL 和 Vulkan 等低级 API 使用内核和着色器程序的 SPIR-V 中间表示形式,提供对硬件资源的直接、显式访问,以实现最大的灵活性和控制。
Khronos 系列计算加速标准
SYCL(发音为“sickle”)使异构处理器的代码能够与主机应用程序代码一起编写在“单一源”文件中,使用标准C++在各种硬件上进行便携式加速。SYCL 通常会将要卸载到加速处理器上的C++应用程序部分编译为较低级别的 API,例如 OpenCL。
OpenVX(VX代表“视觉加速”)提供了一个图形级抽象,通过连接一组函数或“节点”来构建成像和推理功能。这种高度抽象使芯片供应商能够有效地优化其 OpenVX 驱动程序,以便在几乎任何处理器架构上高效执行。OpenVX 图可以结合视觉处理和神经网络节点进行全局优化,并可以直接摄取 Khronos NNEF 格式的完整训练网络,这为来自不同神经网络框架的开源转换器提供了稳定的规范。
Vulkan是用于高效、跨平台访问现代 GPU 的唯一开放标准。Vulkan 可以使用计算着色器以及图形渲染来加速任何兼容 GPU 上的计算操作。Vulkan 为下一代 3D 图形和计算的开发人员带来了许多好处,包括更简单的驱动程序、直接和显式的 GPU 控制、用于多线程应用程序的多个图形、命令和 DMA 队列,以及用于多种着色语言的离线前端编译器。
OpenCL是一种低级标准,用于对 PC、服务器、移动设备和嵌入式设备(包括 GPU、DSP 和 FPGA)中的各种异构处理器进行跨平台并行编程。OpenCL 提供基于 C 和C++的语言来编程内核程序,这些内核程序可以在系统中的任何处理器上并行编译和执行,并显式控制在哪些处理器上执行哪些内核。OpenCL 通过提供更简单的编程模型、相对轻量级的运行时、更高的语言灵活性以及更严格定义的计算操作精度来补充仅 GPU 的 API。
旨在简化功能安全认证的 API
安全认证在许多市场中至关重要,例如汽车、自动驾驶、医学成像、运输、工业、能源和航空电子设备。计算或显示子系统故障会造成重大安全风险的系统需要系统级功能安全认证并符合安全标准,如RTCADO-178CA 级/EASA ED-12C A 级(航空电子设备)、ISO 26262ASIL D(汽车)、IEC 61508(工业)和 IEC 62304(医疗),并遵守 MISRA 和 AUTOSAR 等行业组织的指南。
这些市场对高级加速图形和计算的需求正在增长,这些加速器必须包含在系统级安全认证中。安全认证的高成本正在推动开放标准加速API的开发,这些API旨在通过消除嵌入式市场不必要的功能来减少API表面积,增加运行时确定性,并提供强大的错误处理,从而简化系统级认证过程。
Khronos 在为安全关键市场调整主流加速 API 方面拥有 20 年的历史,从 2003 年的 OpenGL SC 1.0 开始。这些计划利用经过验证的 API,这些 API 具有多个交付芯片实现,并且开发人员已经熟悉这些 API。
Khronos 安全关键型 3D API 的历史
最近发布的 Vulkan SC 1.0 简化了 Vulkan SC 1.2 API,并提高了运行时确定性。Vulkan SC 管道可以离线编译和静态分析,以了解数据流和内存使用情况。然后,可以在设备创建时将管道执行所需的内存保留为固定大小的池,以最大程度地减少总体内存使用量并避免需要运行时内存分配。Vulkan SC 使部署 GPU 加速图形和计算的系统实施者能够满足安全关键义务,并以更低的成本和工作量提供认证证据包。Vulkan SC 对于实时嵌入式应用来说也是非常宝贵的,即使没有经过正式的安全认证。
OpenVX 具有安全关键型配置文件,能够快速部署经过训练的神经网络模型,使用 OpenVX 作为推理引擎,非常适合安全关键型市场。OpenVX 安全关键型配置文件通过启用运行时摄取已脱机预编译的二进制图定义,将 OpenVX 图的开发与其执行分开,从而最大限度地减少运行时 API 外围应用和运行时大小。OpenVX规范也带有功能需求标签号,OpenVX标头符合MISRA-C标准。
Khronos最近还成立了SYCL安全关键探索论坛,以调查行业对通用并行编程API的要求,以便在安全关键市场中使用SYCL的标准C++单源编程模型加速计算。以硬件为中心的 API 设计越来越多地与复杂的编译器技术融合,在利用硅加速进行计算加速时,带来了显著的新水平的可编程灵活性和可移植性。SYCL SC探索论坛正处于发现阶段,以便在开始标准化工作之前充分了解行业要求并达成共识。任何公司都被邀请免费加入探索论坛,并且没有知识产权许可义务。
标准组织协同工作
行业中有许多标准开发组织(SDO),每个组织都有自己的专业领域,因此SDO必须建立富有成效的联络关系,以避免重复工作,并确保来自不同组织的不同标准能够很好地协同工作。
Khronos最近宣布与AUTOSAR建立联络,AUTOSAR是汽车电子,半导体和软件行业的汽车制造商,供应商,服务提供商和公司的全球开发合作伙伴关系。这项新的合作协议鼓励富有成效的信息流动,同时尊重两个组织的保密性和知识产权框架。它使Khronos成员能够获得有关AUTOSAR活动的信息和见解,反之亦然。最终目标是针对AUTOSAR用例和需求指导和影响Khronos标准的发展,并使AUTOSAR平台能够有效地利用这些Khronos API。
在过去的两年中,Khronos还与欧洲机器视觉协会(EMVA)密切合作,建立了Khronos相机工作组,该工作组目前正在构建一个新的开放标准API,用于控制嵌入式相机。
复杂光学系统、图像传感器和视觉处理器的发展正在加速,嵌入式系统通常将相机传感器与独立系统中的图像、视觉和推理加速器紧密集成。虽然上面概述的Khronos API可用于视觉和推理加速,但没有一个广泛采用的开放标准跨供应商API来简化新相机子系统的软件集成,导致相机技术不必要的高集成成本。
对开放标准相机 API 的需求
Khronos和EMVA成员正在设计的Camera API将通过精确定义的接口提供对相机运行时的应用程序,库和框架的显式控制,该接口可实现应用程序代码的跨供应商可移植性,并简化新相机和传感器的系统集成。此 API 还将保留跨多代相机和传感器的应用程序代码,并支持对传感器流生成的复杂控制,以提高下游处理的有效性。
Khronos Camera API 目前在设计中的范围
参与构建所需的开放标准
嵌入式产品中越来越多地使用计算、视觉和推理加速正在带来重大的新商机,Khronos 正在开发一系列不断增长的开放、免版税 API 标准,以满足嵌入式和安全关键市场快速发展的需求。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19091浏览量
228776 -
加速器
+关注
关注
2文章
789浏览量
37663 -
编译器
+关注
关注
1文章
1616浏览量
49010
发布评论请先 登录
相关推荐
评论