嵌入式计算和视觉加速的开放标准

嵌入式计算和视觉加速的开放标准
https://www.khronos.org/assets/uploads/developers/presentations/Khronos_Embedded_Compute_and_Vision_Overview_Jun24.pdf
Khronos将软件连接到硅
开放、免版税的互操作性标准,以利用GPU、XR和多处理器硬件的力量3D图形、增强和虚拟现实、并行编程、推理和视觉加速非营利、成员驱动的标准组织,向任何公司开放经验证的多公司治理和知识产权框架。
成立于2000年
约200名会员|~40%美国、30%欧洲、30%亚洲
 
对并行处理的需求
单处理器
编程简单,但可能无法提供足够的性能
尤其是当摩尔定律频率/功率缩放正在放缓时
多处理器
额外的处理器可以处理扩展的工作负载,但会增加系统设计和编程的复杂性:
(i) 将工作负载划分为内核程序,以便在可用处理器之间进行分配
(ii)同步使用计算和内存资源
(iii)交流中间数据和结果
开放标准API和语言可以帮助管理这种复杂性
 
什么是开放互操作性标准?
开放标准
互操作性是精确规定的通信
例如,软件到硬件,客户端到服务器
OPEN标准规范是通过多公司合作在商定的IP框架下创建的
开放的标准规范加上一致性测试使多重一致性实现能够满足不同市场、价位和用例的需求
开放源代码
开源项目是通过多公司合作和通过贡献许可证的软件努力创建的
设计治理范围从窄到宽
取决于项目的历史和目的
开放标准通常使用开放源代码来共享示例实现、工具、示例、一致性测试、验证器等的开发工作。
通常用于硬件API,以实现不同实现之间的竞争,而不会出现碎片。
通常用于软件库和语言,以通过单个实现共享工作并获得一致性。
 
开放互操作性标准的好处
•经验证的解决方案–通常免费提供
-利用重要的行业努力和行业专业知识
•对硬件和软件开发人员的好处
-跨平台应用程序的可移植性和可重用性
-全行业的工具和库生态系统
•嵌入式市场的好处
-软件和硬件解耦,简化开发、集成和安全认证
-跨代可重用性和现场可升级性

为什么要开放标准?

扩大商业机会

兼容产品和服务的网络效应

降低成本

分享设计成果,推动销量增长

避免市场摩擦

减少碎片和混乱

加快上市时间

利用经验证的功能和测试

何时?

当技术得到验证

避免由标准委员会进行研发

共识需求

没有可用标准的缺点非常明显

怎么做?

建立信任的多公司治理

避免单一公司控制或依赖

明确的知识产权政策

免版税标准推动广泛采用

通过灵活的可扩展性进行创新

扩展及时满足客户和市场需求

精心抽象的创新

自由创新实施细节

Khronos合作框架
 
Khronos现行标准
 
Khronos标准与计算、嵌入式、视觉和安全关键型市场最相关
Khronos计算加速度标准
 
OpenCL–低级并行编程
应用程序加速的编程与运行时框架
将计算密集型内核卸载到并行异构处理器上
CPU、GPU、DSP、FPGA、Tensor处理器OpenCL C或C++内核语言
平台层API
查询、选择和初始化计算设备
运行时API
在多个设备上构建和执行内核程序
显式应用程序控制
哪些程序在什么设备上执行
数据存储在系统存储器中的位置
程序何时运行,以及哪些操作依赖于早期操作
 
补充仅GPU的API
更简单的编程模型
相对轻量级的运行时
更大的语言灵活性,例如指针
严格定义的数字精度
机器学习加速API
 
OpenCL 3.0采用和路线图
•采用新的统一规范格式的定期(大致)季度发布
-3.0.16于2024年4月发布,最终确定了外部存储器和信号量
•大量开源活动
-Mesa Rusticl Linux版
-clang/LLVM编译前端
-基于Vulkan的clspv和Ancle分层实现,基于DX12的OpenCLon12分层实现
•OpenCL作为Vulkan之上的计算层逐渐被接受
-特别是对于机器学习
•活跃的扩展渠道——由移动、嵌入式和台式机市场驱动
-可记录命令缓冲区、统一共享内存、协作矩阵和其他ML原语
 
SYCL单源C++并行编程
 
SYCL调度
 
SYCL在开发中的实施
 
SYCL实验开
SYCL Next
•作为KHR扩展逐步发布新功能的战略路径
-完成测试和实施
•主要优先事项是:
-语法改进
-队列事件性能
-任务图
-编译时属性
-层次并行性
•寻求有关优先功能的反馈!
- https://community.khronos.org/c/sycl/
- https://registry.khronos.org/SYCL/
 
Intel oneAPI DPC++和UXL基础
•Intel oneAPI DPC++符合SYCL 2020规范
-统一共享内存、并行约简、工作组算法、类模板
论证推导、访问器简化、扩展互操作性等等
•UXL统一加速基础
-加速计算开放生态系统
-工具和库
-编译器和开发工具
-API和规范
•Khronos和UXL刚刚宣布进行联络
 
OpenVX跨供应商视觉与推理
基于图形的高级抽象实现可移植、高效的视觉处理
处理器供应商创建、优化和发货的优化OpenVX驱动程序
可在几乎任何具有性能可移植性的硬件或处理器上实现
图可以包含视觉处理和用于全局优化的NN节点
运行时图形执行只需要很少的主机CPU交互
 
OpenVX路线图
 
对API功能安全的需求日益增长
安全关键API减少了功能安全至关重要的系统级认证工作
1) 简化以减少文档和测试表面积
2) 简化系统设计和测试的确定性行为
3) 明确而全面的故障处理
 
摄像机系统API标准的需求
 
嵌入式摄像机系统API-正在开发中
开放、跨供应商、免版税的摄像头、传感器和ISP控制开放标准
嵌入式、移动、工业、XR、汽车和科学市场
好处
摄像头/传感器代码的可移植性,使新传感器的系统集成更加容易
跨多代相机和传感器保存应用程序代码
对传感器流生成进行复杂控制,实现有效的下游处理
有效的摄像机API抽象将使摄像机和传感器供应商能够暴露
硬件功能,而不披露专有的实现细节,同时获得
访问更大的图书馆和应用程序生态系统
典型Kamaros软件堆栈
 
Kamaros和Vulkan
•Kamaros正在重新使用Vulkan设计元素
-节省重新设计重复出现的元素的时间
-队列、缓冲区、同步等。
•作为Vulkan扩展或独立API部署
-独立API可以在没有GPU的情况下实现
•Vulkan设计已得到充分验证
-低级别、明确的硬件访问
-具有计算和图形功能的无缝互操作
•利用Vulkan生态系统
-SDK工具,包括层和加载程序
-使用Vulkan CTS的相关部件
-开发人员熟悉程度
 
典型Kamaros系统实施
可以使用任何API——例如Khronos开放标准
如果Kamaros被实现为Vulkan扩展,则可以是ISP上的单个Vulkan运行时,并且下游处理Kamaros功能可以集成到OpenVX节点中。
 
Kamaros便携式应用程序结构
 
Kamaros、Khronos和EMVA合作
 
Khronos/EMVA有一个持续协调的联络协议和指定联络人的联合会员特权。
SPIR-V生态系统
 
API分层
利用SPIR-V的开源编译器生态系统越来越强大。
无需额外的内核级驱动程序即可实现内容,从而使平台受益。
 
即使没有本机驱动程序,也可以跨多个平台提供API,从而提供应用程序部署灵活性并消除碎片,从而使ISV受益。
分层OpenCL实现
 
使用OpenCL的应用程序、库和引擎
适用于低级别异构并行编程的通用、跨供应商、开放标准
https://en.wikipedia.org/wiki/List_of_OpenCL_applications
 
执行OpenCL程序
内核程序是可执行代码的基本单元(类似于C函数)
OpenCL程序是内核和函数的集合
主机应用程序使用OpenCL命令队列向设备发送内核和数据传输功能以供执行。
通过将命令排入命令队列,内核和数据传输功能可以与应用程序主机代码异步并行执行。
作为一种开放标准,OpenCL是一种经过充分验证的设计,可从许多硅供应商那里获得,这些供应商拥有广泛的可用工具、编译器、库和教育材料生态系统。
 
OpenCL开源项目发展势头
 
OpenCL咨询小组
 
参与进来
 
 
SYCL参考
•支持SYCL开发人员的新资源
•灵感来自cppreference.com
•SYCL 2020 API简介
•规范仍然是规范性文件
• https://www.khronos.org/sycl/reference
用于OpenCL的C++
开源编译器前端
取代OpenCL C++内核语言规范
官方发布在OpenCL Docs repo
启用完整的OpenCL C和大多数C++17功能
OpenCL C代码有效且完全兼容
允许现有应用程序逐步过渡到C++
Clang自9.0版起支持
必要时生成SPIR-V 1.0和SPIR-V 1.2
通过cl_ext_cxx_for_opencl扩展进行在线编译
 
OpenCL规范发布和路线图
OpenCL 3.0.16于2024年4月4日发货
继续进行新功能和错误修复的常规发布节奏
用于外部共享和Interop的外部内存对象和信号量已完成
内核时钟扩展临时发布
 
 
参考文献链接
https://www.khronos.org/assets/uploads/developers/presentations/Khronos_Embedded_Compute_and_Vision_Overview_Jun24.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/733611.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三次Blog作业

题目集6-7的总结性Blog 一、前言 题目集总结 第六次题目集 知识点:控制理论、电路设计、设备工作原理 题量:中等 难度:中等偏上控制设备部分涉及对开关、分档调速器、连续调速器三种设备的理解和操作。需要理解开关的两种状态,分档调速器的档位变化以及连续调速器的连续调节…

第三次blog

第三次blog感悟 随着知识越学越多,任务也越来越繁重,难度也是与日俱增,也许是时间花得还不够也不够认真导致最近的一些pta作业都完成得差强人意,我认为java的学习最重要的是写作业的认真、严谨的逻辑以及大把的时间。nchu-software-oop-2024-上-6 本次作业题目大致内容 1、…

第三次PTA作业总结

一.第七和第八次PTA作业总结 1.第七次PTA作业的分析 (1).设计思路: 设计电路设备类(如ControlDevice, AdjustableDevice, ExclusiveSwitch)和受控设备类(Light, Fan, Curtain)来封装设备的属性和行为。 电路类(SequentialCircuit, ParallelCircuit)用于表示电路结构,…

在WPF中使用着色器

概念类比范畴 CPU GPU二进制文件 .exe .cso / .ps二进制指令 机器码 CSO(shader指令)助记符 汇编 SL高级语言 C# HLSL高级语言文件 .cs .hlsl / .fx高级语言编译器 csc.exe fxc.exeAPI .NET API DirectX API运行时环境 CLR DirectX调试工具 Visual Studio Debugger RenderDoc着…

OOP第三次博客作业

目录前言:设计与分析:opp-7-家居强电电路模拟程序-2opp-8-家居强电电路模拟程序-2踩坑心得:opp-5-家居强电电路模拟程序-3踩坑和心得:opp-5-家居强电电路模拟程序-4踩坑和心得:总结: 前言: oop-7相比与oop-6仅增加了两个电子元件,一个互斥开关,一个受控窗帘,除了优化…

《DNK210使用指南 -CanMV版 V1.0》第五章 编译CanMV固件

第五章 编译CanMV固件 1)实验平台:正点原子DNK210开发板 2) 章节摘自【正点原子】DNK210使用指南 - CanMV版 V1.0 3)购买链接:https://detail.tmall.com/item.htm?&id=782801398750 4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-…

第三次PTA总结

前言 本阶段面向对象程序设计进行了两次PTA训练,两次都是关于电路设计的迭代。迭代次数越多难度越大,后期事情较多,作业和考试任务重、题目的难度也较大,所以没有拿到每次作业的满分,但是都根据题目的变化对自己的设计进行了一定的改变和优化。 知识点类的设计; 数组、链…

防火墙部署案例

通过引流方式实现防火墙旁挂部署并且实现安全防护功能案例 一、项目背景 1、客户有购买了一台某公司由于性能问题和服务器直连核心交换机原因,决定采取旁挂方式部署,但是又希望实现安全防护,因此决定通过引流方式(QOS的流量重定向)把需要防护的流量引到防火墙,防火墙做路…

6月29日

# 模板引用 $template=file_get_contents("1.php");之后可以引用page_title变量来替换html内容

Alertmanager抑制、静默、路由、告警分组

1、抑制机制 Alertmanager的抑制机制可以避免当某种问题告警产生之后用户接收到大量由此问题导致的一系列的其它告警通知。例如当集群不可用时,用户可能只希望接收到一条告警,告诉他这时候集群出现了问题,而不是大量的如集群中的应用异常、中间件服务异常的告警通知。 在Ale…

GBJ406-ASEMI无人机专用整流桥GBJ406

GBJ406-ASEMI无人机专用整流桥GBJ406编辑:ll GBJ406-ASEMI无人机专用整流桥GBJ406 型号:GBJ406 品牌:ASEMI 封装:GBJ-4 最大重复峰值反向电压:600V 最大正向平均整流电流(Vdss):4A 功率(Pd):中小功率 芯片个数:4 引脚数量:4 类型:整流扁桥、整流桥 正向浪涌电流:120…

数据分析 | 整合数据

拼接与合并 1. 纵向或横向拼接:pd.concat()# 纵向拼接,在函数中放入列表,里面是想拼接的两个df # 如果列名一致,直接对齐;如果列名不一致,则各列都会保留,空值为NaN pd.concat([df1, df2], ignore_index = True) # >>> 此时索引是各自保留的,所以要忽略索引…

DCT-Net - 一键图片、视频转卡通动漫风格工具,本地一键整合包下载

只需要输入一张人物图像或者一段视频,就可以实现端到端全图卡、视频通化转换,生成二次元虚拟形象,返回卡通化后的结果图像或视频。 开发者叫menyi Fang,来自阿里巴巴通义实验室的的技术女大佬,国内大佬集成到webui,支持CPU和GPU,CPU处理速度也很快,需要的可以自行下载测…

ProPainter – AI视频去水印工具,可以去除视频中的静态水印、动态物体/人物等 本地一键整合包下载

ProPainter是一个基于E2FGVI实现的AI视频编辑工具,它可以一键移除视频内的移动物体和水印。这个开源项目提供了一个简单而强大的解决方案,帮助用户轻松编辑和改善视频内容。项目地址:https://github.com/sczhou/ProPainter 一键整合包下载:https://deepface.cc/thread-254-…

Rocky Linux捣鼓记录(六):JDK安装、配置环境变量

一、下载 A方法:我们可以直接去oracle官网下载jdk17安装包,直接安装,安装完会生成JDK主目录在/usr/lib/jvm/jdk-17-oracle-x64 B方法:su使用root用户操作,创建并进入一个便于管理JDK文件的目录 mkdir /usr/lib/jvm cd /usr/lib/jvm #下载jdk wget https://download.oracle…

川普真会说中文?连嘴型都同步,VideoReTalking AI数字人下载介绍

你能想到这种画面吗?霉霉在节目中用普通话接受采访,特朗普在老家用中文脱口秀,蔡明老师操着一口流利的英文调侃潘长江老师.. 这听起来似乎很魔幻,可如今全部由VideoReTalking实现了 你只需要传入一个视频文件和音频文件,它会生成一个新的视频,在这个视频里,不仅人物的嘴…

QR与DM码的识别

1.QR码与DM码QR码(Quick Response Code)是一种矩阵条码,能够快速被扫描设备识别。它是由日本Denso Wave公司在1994年发明的,用于追踪汽车零件。QR码可以存储更多的数据,并且可以包含文本、URL、图片等信息。QR码的特点是快速识别,因此得名。它们广泛应用于广告、产品追踪…

FFmpeg开发笔记(三十三)分析ZLMediaKit对H.264流的插帧操作

​《FFmpeg开发实战:从零基础到短视频上线》一书的“3.4.3 把原始的H264文件封装为MP4格式”介绍了如何把H.264裸流封装为MP4文件。那么在网络上传输的H.264裸流是怎样被接收端获取视频格式的呢?前文指出H.264流必定以“SPS帧→PPS帧→IDR帧”开头,接下来就来验证是否确实如…

= ERROR [sshd internal] load metadata for docker.io/vulhub/openssh:7.7 问题解决,亲测有效!

出现 ERROR [sshd internal] load metadata for docker.io/vulhub/openssh:7.7 这样的错误通常表示 Docker 客户端在尝试从 Docker Hub(docker.io)上拉取 vulhub/openssh:7.7 这个镜像时,遇到了问题而无法加载该镜像的元数据(metadata)。 我在网上查了原因,大概有一下几个…