[发明专利]基于应用层的运算卡驱动实现方法在审
| 申请号: | 201911100057.8 | 申请日: | 2019-11-12 |
| 公开(公告)号: | CN111124506A | 公开(公告)日: | 2020-05-08 |
| 发明(设计)人: | 单金良;阳春;朱红宏;胡炜;李国涛;李文;张涛 | 申请(专利权)人: | 中国电子科技集团公司第三十研究所 |
| 主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F13/28 |
| 代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 邓世燕 |
| 地址: | 610000 *** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 应用 运算 驱动 实现 方法 | ||
1.一种基于应用层的运算卡驱动实现方法,其特征在于:包括如下步骤:
步骤一、在内核空间完成初始化操作;
步骤二、在应用层空间完成全部的业务流程。
2.根据权利要求1所述的基于应用层的运算卡驱动实现方法,其特征在于:步骤一所述初始化操作包括:申请可用于DMA的大块内存映射到应用层空间,以及将运算卡的控制寄存器映射到应用层空间。
3.根据权利要求2所述的基于应用层的运算卡驱动实现方法,其特征在于:采用Hugetlb技术,使操作系统以2MB作为分页的单位,以减少TLB Miss和缺页中断的数量。
4.根据权利要求2所述的基于应用层的运算卡驱动实现方法,其特征在于:所述将运算卡的控制寄存器映射到应用层空间的实现方法为:
a)在内核层使用UIO驱动,对外提供控制寄存器的映射。
b)在应用层使用mmap接口映射控制寄存器到应用空间。
5.根据权利要求1所述的基于应用层的运算卡驱动实现方法,其特征在于:步骤二所述在应用层空间完成的全部业务流程包括:
(1)应用程序通过运算卡应用层驱动提供的接口分配可用于DMA传输的内存,并将原始数据写入;
(2)应用程序调用运算卡应用层驱动提供的接口,并提供运算完成的回调函数,启动运算;
(3)运算卡完成运算之后通知应用程序;
(4)应用程序收到运算完成通知,一次运算完成。
6.根据权利要求5所述的基于应用层的运算卡驱动实现方法,其特征在于:所述内存的分配方法为:采用固定尺寸大小的内存块分配方法。
7.根据权利要求5所述的基于应用层的运算卡驱动实现方法,其特征在于:在进行运算时,创建与cpu数量相同的任务,并利用操作系统任务绑定功能将任务和cpu一一对应绑定;并通过独立的控制寄存器使得多个任务能独立互不干扰地操作。
8.根据权利要求5所述的基于应用层的运算卡驱动实现方法,其特征在于:所述运算卡完成运算之后通知应用程序的方法为:在运算卡完成运算之后回写运算任务的完成标记;用户程序在业务主循环中调用驱动程序提供的轮询接口来主动查询任务的完成情况,在有计算任务完成时,轮询接口会调用回调函数,完成整个计算任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十研究所,未经中国电子科技集团公司第三十研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911100057.8/1.html,转载请声明来源钻瓜专利网。





