[发明专利]一种主CPU与NPU的数据交互方法及计算设备有效
申请号: | 202080004250.6 | 申请日: | 2020-08-14 |
公开(公告)号: | CN112513817B | 公开(公告)日: | 2021-10-01 |
发明(设计)人: | 朱湘毅 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N5/04 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cpu npu 数据 交互 方法 计算 设备 | ||
本申请实施例公开了一种主CPU与NPU的数据交互方法及计算设备,可应用于人工智能领域中,该方法应用于计算设备,计算设备包括主CPU和NPU,主CPU上运行目标APP,主CPU包括AI Service和NPU驱动,NPU包括NPU控制器、运算逻辑单元和N个寄存器,该方法包括:主CPU将AI模型加载到NPU后,NPU为AI模型分配一个寄存器,主CPU在接收到NPU发送的寄存器的物理地址后,会将物理地址映射为目标APP上虚拟内存的虚拟地址,主CPU通过目标APP实际上可以直接读/写NPU上对应的寄存器,相当于目标APP与NPU之间有了直连通路。当主CPU通过目标APP向NPU下发AI模型的执行命令到获取AI模型的执行结果的整个流程中,计算通路旁路了AI Service和NPU驱动,只有寄存器读/写的开销,提高了AI模型推理的实时性。
技术领域
本申请涉及人工智能(artificial intelligence,AI)技术领域,尤其涉及一种主CPU与NPU的数据交互方法及计算设备。
背景技术
随着AI的广泛应用,深度学习已成为当前AI研究和应用的主流方式,面对海量数据的并行运算,AI对于算力的要求不断提升,因此对硬件的运算速度及功耗提出了更高的要求。除了通用的中央处理器(central processing unit,CPU)外,作为硬件加速的图形处理器(graphics processing unit,GPU)、神经网络处理器(neural networks processunit,NPU)、现场可编程逻辑门阵列(field programmable gate array,FPGA)等一些芯片处理器也在深度学习的不同应用中发挥着各自的优势。其中,NPU尤其擅长处理视频、图像类的海量多媒体数据,在实际应用中,NPU需要CPU的协同处理才能完成特定的任务,也就是NPU作为协处理器挂载到主CPU(Host CPU),由主CPU分配任务(即发送任务相关的命令),NPU再执行相应任务,并向主CPU返回执行的处理结果。
目前,主CPU与NPU之间的数据交互流程是:先将AI模型加载至NPU,如图1所示,先对主CPU上的应用程序(application,APP)进行初始化,并调用主CPU上AI服务(AIService)的服务接口,将AI Service能够识别的AI模型文件,发给AI Service,AI Service对该AI模型进行解析,并将解析好的AI模型文件转换为NPU可处理的格式,之后,AIService再调用主CPU上NPU驱动(NPU driver)的用户态接口,NPU驱动进一步切换到内核态,配置NPU的相关寄存器和接口,将AI模型加载到NPU,由NPU保存该AI模型,并依次经过NPU驱动和AI Service向APP返回加载成功的结果。AI模型加载成功后,且在输入数据准备好之后(比如摄像头完成一帧图像输出),通过该APP下发命令(即AI模型的执行命令)调用AI Service的服务接口以及NPU驱动,进行AI模型推理,NPU执行完相关推理任务后,同样需要依次通过NPU驱动以及AI Service将得到的执行结果返回到APP,如图2所示。
由上述主CPU与NPU之间的数据交互流程可知,主CPU通过APP下发AI模型推理的命令,需要经过AI Service和NPU驱动才能到达NPU(即命令通路),同样地,AI模型的执行结果也需要经过NPU驱动和AI Service才能返回APP(即响应通路),使得命令通路和响应通路所花费的时间都很长,主要是由如下几点导致的:1)APP和AI Service之间是进程间的消息通讯;2)NPU驱动涉及驱动在用户态和内核态之间的切换;3)NPU驱动所在的主CPU和NPU是两个系统,是系统间的通讯。在一些实际应用场景中(如,自动驾驶对实时性就具有很高要求),这样的一次AI模型推理的命令通路和响应通路上的时间开销非常大
发明内容
本发明实施例提供一种主CPU与NPU的数据交互方法及计算设备,用于在进行AI推理时,减少主CPU上的APP与NPU之间计算通路上的时间开销,提高AI模型执行的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202080004250.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种场景文件的获取方法以及装置
- 下一篇:一种低压冗余供电系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置