System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及内存管理领域,具体而言,涉及一种任务执行方法、任务配置方法、板卡、服务器。
技术介绍
1、人工智能加速卡是专门用于人工智能模型推理和训练的加速板卡。加速卡通过外部可扩展互连(peripheral component interconnect express,简称为pcie)插槽与服务器相连进行神经网络加速。用户在服务器主机端(host)按照板卡端(device)的接口要求进行交互操作,一般包含操作所需的输入数据和模型数据从host端传递到device端,操作命令的下发,以及最后操作结果的获取。一般加速卡采用linux操作系统,但也有一些加速卡是不带系统的,通过板卡端的程序直接处理host端的操作请求并完成整个加速操作。为了提高加速卡的利用率,一般加速卡都支持多用户操作,即同一时间可以完成多组加速操作,具体来讲就是同一时间当一个用户在数据传输时另一个用户在网络推理,通过两个操作的并行执行来充分利用板卡资源,多个任务依次进行计算操作直到所有任务完成。
2、但目前不带linux系统的加速卡均不支持多用户操作,相比技术中,在使用不带linux系统的加速卡进行加速的时候,是将操作所需要的数据放在板卡端指定好的内存位置,之后下发操作命令,板卡端程序去指定的约定好的内存位置获取数据执行推理操作,操作完成后的接口按照指定约定好的地址存放。当前操作完成后再进行下一次操作。因不带系统的加速卡每次都回去指定的固定地址拿相应的数据,如果多用户同时操作会导致数据被覆盖,进而导致操作异常。此外因为操作都是顺序执行的,板卡硬件资源
3、针对相关技术中,未安装操作系统的板卡无法支持多用户操作的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种任务执行方法、任务配置方法、板卡、服务器,以至少解决相关技术未安装操作系统的板卡无法支持多用户操作的问题 。
2、根据本申请的一个实施例,提供了一种任务执行方法,应用于板卡,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,包括:从所述第一区域中的多个头结构体数据中获取第一头结构体数据,其中,所述头结构体数据用于表示推理任务的配置信息,所述第一头结构体数据中的第一属性的属性值为第一值,其中,所述第一值用于指示头结构体数据对应的推理任务处于待执行状态;从所述第一头结构体数据中获取第一任务结构体地址,并根据所述第一任务结构体地址从所述内存的第二区域中获取第一任务结构体数据,其中,所述第一任务结构体数据中包括用于执行所述第一任务结构体数据对应的第一任务的相关信息;根据所述第一任务结构体数据执行所述第一任务,其中,所述第一头结构体数据对应的第一推理任务包括所述第一任务。
3、在一个示例性的实施例中,所述内存还包括第三区域,所述第三区域用于进行数据存储,所述根据所述第一任务结构体数据执行所述第一任务,包括:从所述第一任务结构体数据中获取第一任务信息地址;在所述第一任务结构体数据用于指示执行n个计算操作的情况下,通过以下方式执行第i个计算操作、以执行所述第一任务中的所述n个计算操作,其中,i为大于等于1、小于等于n的正整数:根据所述第一任务信息地址确定所述第i个计算操作对应的第i个数据输入地址和第i个数据输出地址;根据所述第i个数据输入地址从所述内存的第三区域中获取第i个输入数据,并根据所述第i个输入数据进行计算,得到第i个计算结果;根据所述第i个数据输出地址在所述内存的第三区域存储所述第i个计算结果。
4、在一个示例性的实施例中,所述根据所述第i个输入数据进行计算,得到第i个计算结果,包括:从所述第一任务结构体数据中获取第二属性的属性值,其中,所述第二属性的属性值用于指示所述第一任务对应的计算方式:在所述第二属性的属性值为第一预设值的情况下,使用深度学习加速器dla对所述第i个输入数据进行计算,得到第i个计算结果;在所述第二属性的属性值为第二预设值的情况下,使用精简指令集计算机riscv对所述第i个输入数据进行计算,得到第i个计算结果。
5、在一个示例性的实施例中,在所述根据所述第一任务结构体数据执行所述第一任务之后,所述方法还包括:在所述第一任务结构体数据中存在第二任务结构体地址的情况下,根据所述第二任务结构体地址从所述内存的第二区域中获取第二任务结构体数据,其中,所述第二任务结构体数据中包括用于执行所述第二任务结构体数据对应的第二任务的相关信息;根据所述第二任务结构体数据执行所述第二任务,其中,所述第一推理任务包括所述第二任务。
6、在一个示例性的实施例中,在所述根据所述第一任务结构体数据执行所述第一任务之后,所述方法还包括:在所述第一任务结构体数据中不存在第二任务结构体地址的情况下,确定所述第一区域中的多个头结构体数据中是否存在第二头结构体数据,其中,第二头结构体数据中的所述第一属性的属性值为所述第一值;在所述第一区域中的多个头结构体数据中存在所述第二头结构体数据的情况下,从所述第二头结构体数据中获取第三任务结构体地址,并根据所述第三任务结构体地址从所述内存的第二区域中获取第三任务结构体数据,其中,所述第三任务结构体数据中包括用于执行所述第三任务结构体数据对应的第三任务的相关信息;根据所述第三任务结构体数据执行所述第三任务,其中,所述第二头结构体数据对应的第二推理任务包括所述第三任务。
7、在一个示例性的实施例中,在所述从所述第一区域中的多个头结构体数据中获取第一头结构体数据之后,方法还包括:从所述第一头结构体数据中获取第一任务结构体地址之前,将所述第一头结构体数据中的所述第一属性的属性值修改为第二值,其中,所述第二值用于指示所述第一头结构体数据对应的第一推理任务处于执行状态。
8、在一个示例性的实施例中,所述方法还包括:在根据所述第一头结构体数据完成所述第一推理任务的情况下,将所述第一头结构体数据中的所述第一属性的属性值修改为第三值,其中,所述第三值用于指示所述第一头结构体数据对应的第一推理任务处于已完成状态。
9、在一个示例性的实施例中,在所述从所述第一区域中的多个头结构体数据中获取第一头结构体数据之前,所述方法还包括:在所述多个头结构体数据中具有多个目标头结构体数据的情况下,确定所述第一头结构体数据为所述多个目标头结构体数据中序号最小的头结构体数据,其中,所述目标头结构体数据中的所述第一属性的属性值为所述第一值。
10、在一个示例性的实施例中,在所述从所述第一区域中的多个头结构体数据中获取第一头结构体数据之前,所述方法还包括:在所述多个头结构体数据中具有多个目标头结构体数据的情况下,确定所述第一头结构体数据为所述多个目标头结构体数据中配置时间距离当前最远的头结构体数据,其中,所述目标头结构体数据中的所述第一属性的属性值为所述第本文档来自技高网...
【技术保护点】
1.一种任务执行方法,其特征在于,应用于板卡,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,
2.根据权利要求1所述的方法,其特征在于,所述内存还包括第三区域,所述第三区域用于进行数据存储,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,
9.根据权利要求1所述的方法,其特征在于,
10.一种任务配置方法,其特征在于,应用于服务器,所述服务器与板卡具有通信连接关系,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多
11.根据权利要求10所述的方法,其特征在于,
12.根据权利要求10所述的方法,其特征在于,
13.根据权利要求10所述的方法,其特征在于,
14.根据权利要求10所述的方法,其特征在于,
15.根据权利要求10所述的方法,其特征在于,所述板卡的内存还包括第三区域,所述第三区域用于进行数据存储,
16.根据权利要求15所述的方法,其特征在于,所述内存还包括:第四区域,所述第四区域中存放内存分配链表,所述内存分配链表用于存放所述第三区域中的内存空间的分配信息,
17.根据权利要求16所述的方法,其特征在于,
18.根据权利要求10所述的方法,其特征在于,所述内存还包括:第三区域和第四区域,所述第三区域用于进行数据存储,所述第四区域中存放内存分配链表,所述内存分配链表用于存放所述第三区域中的内存空间的分配信息,
19.根据权利要求10所述的方法,其特征在于,
20.一种板卡,其特征在于,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,
21.一种服务器,其特征在于,所述服务器与板卡具有通信连接关系,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,
22.一种计算机可读存储介质,其特征在于,
23.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
...【技术特征摘要】
1.一种任务执行方法,其特征在于,应用于板卡,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,
2.根据权利要求1所述的方法,其特征在于,所述内存还包括第三区域,所述第三区域用于进行数据存储,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,
5.根据权利要求1所述的方法,其特征在于,
6.根据权利要求1所述的方法,其特征在于,
7.根据权利要求1所述的方法,其特征在于,
8.根据权利要求1所述的方法,其特征在于,
9.根据权利要求1所述的方法,其特征在于,
10.一种任务配置方法,其特征在于,应用于服务器,所述服务器与板卡具有通信连接关系,所述板卡的内存包括第一区域和第二区域,所述第一区域中具有多个头结构体数据,所述头结构体数据用于表示推理任务的配置信息,所述第二区域中具有多个任务结构体数据,所述任务结构体数据中包括用于执行对应的任务的任务信息,
11.根据权利要求10所述的方法,其特征在于,
12.根据权利要求10所述的方法,其特征在于,
13.根据权利要求10所述的方法,其特征在于,
14.根据权利要求10所述的方法,其特征在于,
15.根据...
【专利技术属性】
技术研发人员:刘辉,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。