基于x86架构的AI芯片任务处理方法和装置制造方法及图纸

技术编号:26375388 阅读:13 留言:0更新日期:2020-11-19 23:44
本发明专利技术涉及一种基于x86架构的AI芯片任务处理方法和装置。所述方法包括:更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译;利用预设编译器版本和库文件对x86系统进行编译环境搭建;在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动,并将AI芯片驱动挂载到x86系统;获取计算任务,并利用x86系统的运行时程序将计算任务下传至AI芯片驱动;利用AI芯片驱动和计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成。本发明专利技术的方案使AI芯片可以运行在x86架构的下的服务器上,并能够处理处理计算任务,扩大了AI芯片的使用范围,为实际的AI芯片设计、测试以及应用提供了不可多得的硬件环境。

【技术实现步骤摘要】
基于x86架构的AI芯片任务处理方法和装置
本专利技术涉及计算机
,尤其涉及一种基于x86架构的AI芯片任务处理方法、装置、计算机设备及存储介质。
技术介绍
人工智能作为当前最具潜力的技术已经应用在生活中的方方面面,例如人脸识别、疾病检测、建筑铁路探伤、交通优化、顾客流分析等等;人工智能计算设备AI芯片融合了速度快,能耗少的两大优点,势必成为日后主流的AI计算硬件,并将部署到大量的计算机集群等计算中心和服务器上。目前,主流AI芯片生产商以及开源项目,大都采用arm架构的CPU与AI芯片进行通信,例如英伟达的深度学习加速器(NVIDIADeepleaningAccelerate,简称NVDLA)将AI芯片作为平台设备注册到arm系统中;其缺点是局限于单一的平台架构,仅支持armcpu以及armlinux完成驱动的注册和运行,而对于主流的x86架构的计算机及服务器并不原生支持,极大了限制了AI芯片的使用范围。
技术实现思路
有鉴于此,有必要针对以上技术问题提供一种基于x86架构的AI芯片任务处理方法、装置、计算机设备及存储介质。根据本专利技术的一方面,提供了一种基于x86架构的AI芯片任务处理方法,所述方法包括:更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译;利用预设编译器版本和库文件对x86系统进行编译环境搭建;在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动,并将所述AI芯片驱动挂载到x86系统;获取计算任务,并利用x86系统的运行时程序将所述计算任务下传至所述AI芯片驱动;利用所述AI芯片驱动和所述计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成。在其中一个实施例中,所述更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译的步骤包括:获取底层配置文件,将所述底层配置文件中的drm功能和dma功能均配置为打开;获取顶层配置文件,将所述顶层配置文件中的dma连续内存分配功能配置为打开;利用所述底层配置文件和所述顶层配置文件对x86系统进行内核的重新编译。在其中一个实施例中,其特征在于,所述利用预设编译器版本和库文件对x86系统进行编译环境搭建的步骤包括:获取x86系统的当前编译器版本,并将所述当前编译器版本与所述预设编译器版本进行比较;若所述当前编译器版本低于所述预设编译器版本,则将当前编译器版本替换为所述预设编译器版本;获取jpeg包和png包,并将所述jpeg包和png包添加至x86系统。在其中一个实施例中,对AI芯片进行设备注册包括:PCI驱动定义、AI芯片ID声明、AI芯片配置、任务队列初始化、AI芯片地址映射、AI芯片中断注册、dma字符设备添加、AI芯片dma连续内存分配。在其中一个实施例中,所述在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动具体包括:使用pci_driver驱动结构体将AI硬件注册为PCI设备,所述pci_driver驱动结构体包括AI芯片的名称,待驱动AI芯片列表,初始化AI芯片以及卸载AI芯片功能函数;配置AI芯片厂商ID和AI芯片ID以进行PCI设备匹配;为PCI设备定义私有的设备信息结构体,所述设备信息结构体用于接收保存PCI设备的中断信息、硬件配置信息、队列信息以及中断自旋锁信息,利用devm_kzalloc命令为所述设备信息结构体申请内存,利用pci_set_drvdata命令将所述设备信息结构体挂载到匹配的PCI设备上;配置AI芯片的MAC数量、是否支持压缩、winograd算法进行初始化;初始化AI芯片的任务队列;利用APIpci_enable_device命令进行对应PCI设备的匹配与唤醒,利用pci_resource_start命令获取PCI设备的地址空间,利用ioremap命令将该地址进行虚拟地址映射,利用reg_read命令以及reg_write命令对相应的寄存器进行读写实现CPU与AI芯片之间的交互;获取PCI设备的irq变量值,利用devm_request_irq命令来实现的对所述irq变量值和中断函数之间的对应匹配;为AI芯片添加drm设备功能,其中drm设备注册了包含特定名称的字符设备,并为所述字符设备添加打开、文件操作以及ioctl功能;为AI芯片分配dma存储空间,所述dma存储空间用于存放推理权值、输入、输出数据。在其中一个实施例中,所述获取计算任务,并利用x86系统的运行时程序将所述计算任务下传至所述AI芯片驱动的步骤包括:利用x86系统的解析器对待处理任务进行解析以得到计算任务,并将所述计算任务发送至x86系统的运行时程序;x86系统的运行时程序与所述AI芯片驱动进行交互以将所述计算任务发送至所述AI芯片驱动。在其中一个实施例中,利用所述AI芯片驱动和所述计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成的步骤包括:对AI芯片的功能模块进行任务部署;根据AI芯片的功能模块之间的依赖关系以及计算的时序对AI芯片的功能模块进行使能;若某一功能模块任务完成,则AI芯片发出中断,处理中断,对下一级的任务进行使能;若完成下一级任务使能,则对完成任务的模块进行下一步的任务部署直至完成所有的计算任务。根据本专利技术的另一方面,提供了一种基于x86架构的AI芯片任务处理方装置,所述装置包括:编译模块,用于更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译;环境搭建模块,用于利用预设编译器版本和库文件对x86系统进行编译环境搭建;驱动模块,用于在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动,并将所述AI芯片驱动挂载到x86系统;任务分发模块,用于获取计算任务,并利用x86系统的运行时程序将所述计算任务下传至所述AI芯片驱动;任务处理模块,用于利用所述AI芯片驱动和所述计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成。根据本专利技术的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器进行所述程序时进行前述的基于x86架构的AI芯片任务处理。根据本专利技术的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器进行时进行前述的基于x86架构的AI芯片任务处理方法。上述一种基于x86架构的AI芯片任务处理方法、装置、计算机设备及存储介质,实现了x86架构下对AI芯片的驱动,使得AI芯片可以运行在x86架构的下的服务器上,并能够处理处理计算任务,扩大了AI芯片的使用范围,为实际的AI芯片设计、测试以及应用提供了不可多得的硬件环境。附图说明为了更清楚地说明本专利技术实施例或现有技术中的本文档来自技高网...

【技术保护点】
1.一种基于x86架构的AI芯片任务处理方法,其特征在于,所述方法包括:/n更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译;/n利用预设编译器版本和库文件对x86系统进行编译环境搭建;/n在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动,并将所述AI芯片驱动挂载到x86系统;/n获取计算任务,并利用x86系统的运行时程序将所述计算任务下传至所述AI芯片驱动;/n利用所述AI芯片驱动和所述计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成。/n

【技术特征摘要】
1.一种基于x86架构的AI芯片任务处理方法,其特征在于,所述方法包括:
更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译;
利用预设编译器版本和库文件对x86系统进行编译环境搭建;
在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动,并将所述AI芯片驱动挂载到x86系统;
获取计算任务,并利用x86系统的运行时程序将所述计算任务下传至所述AI芯片驱动;
利用所述AI芯片驱动和所述计算任务对AI芯片的功能模块进行任务配置和使能直至任务完成。


2.根据权利要求1所述的方法,其特征在于,所述更改内核配置文件,并基于更改的内核配置文件对x86系统进行内核的重新编译的步骤包括:
获取底层配置文件,将所述底层配置文件中的drm功能和dma功能均配置为打开;
获取顶层配置文件,将所述顶层配置文件中的dma连续内存分配功能配置为打开;
利用所述底层配置文件和所述顶层配置文件对x86系统进行内核的重新编译。


3.根据权利要求1所述的方法,其特征在于,所述利用预设编译器版本和库文件对x86系统进行编译环境搭建的步骤包括:
获取x86系统的当前编译器版本,并将所述当前编译器版本与所述预设编译器版本进行比较;
若所述当前编译器版本低于所述预设编译器版本,则将当前编译器版本替换为所述预设编译器版本;
获取jpeg包和png包,并将所述jpeg包和png包添加至x86系统。


4.根据权利要求1所述的方法,其特征在于,对AI芯片进行设备注册包括:PCI驱动定义、AI芯片ID声明、AI芯片配置、任务队列初始化、AI芯片地址映射、AI芯片中断注册、dma字符设备添加、AI芯片dma连续内存分配。


5.根据权利要求4所述的方法,其特征在于,所述在已搭建的编译环境中对AI芯片进行设备注册以生成AI芯片驱动具体包括:
使用pci_driver驱动结构体将AI硬件注册为PCI设备,所述pci_driver驱动结构体包括AI芯片的名称、待驱动AI芯片列表、初始化AI芯片以及卸载AI芯片功能函数;
配置AI芯片厂商ID和AI芯片ID以进行PCI设备匹配;
为PCI设备定义私有的设备信息结构体,所述设备信息结构体用于接收保存PCI设备的中断信息、硬件配置信息、队列信息以及中断自旋锁信息,利用devm_kzalloc命令为所述设备信息结构体申请内存,利用pci_set_drvdata命令将所述设备信息结构体挂载到匹配的PCI设备上;
配置AI芯片的MAC数量、是否支持压缩、winograd算法进行初始化;
初始化AI芯片的任务队列;
利用APIpci_enable_device命令进行对应PCI设备的匹配与唤...

【专利技术属性】
技术研发人员:沈付旺
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1