获取并行计算任务进度的方法及系统技术方案

技术编号:27536091 阅读:23 留言:0更新日期:2021-03-03 11:22
本发明专利技术提供一种获取并行计算任务进度的方法、系统及计算机可读存储介质。所述方法包括:并行计算任务启动前,确定子任务的数量;根据所述子任务的数量,确定所需的寄存器个数;将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;读取各寄存器中比特位的值,统计比特位被置1的总数;根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。本发明专利技术能够实时和精确地获取并行计算任务进度。计算任务进度。计算任务进度。

【技术实现步骤摘要】
获取并行计算任务进度的方法及系统


[0001]本专利技术涉及计算机
,尤其涉及一种获取并行计算任务进度的方法、系统及计算机可读存储介质。

技术介绍

[0002]在并行计算过程中,一个计算任务常常被划分为多个计算子任务,各子任务之间并行执行,最后各子任务将计算结果写入指定的结果区域,完成计算任务。
[0003]不同的并行计算设备,根据自身的硬件特性,分解后的子任务形态各不相同,例如:在CPU(Central Processing Unit,中央处理器)设备上,一个并行计算任务被分为多个进程,由多个CPU核并行运行;在GPU(Graphics Processing Unit,图形处理器)设备上,根据GPU上的硬件计算单元,一个并行计算任务被分为多个CU,然后多个CU并行计算。
[0004]当前,大多数并行计算设备,在启动一个并行计算任务后,只能提供两种进度状态:完成以及进行中,不能提供更进一步的进度显示。

技术实现思路

[0005]本专利技术提供的获取并行计算任务进度的方法、系统及计算机可读存储介质,能够实时和精确地获取并行计算任务进度。
[0006]第一方面,本专利技术提供一种获取并行计算任务进度的方法,包括:
[0007]并行计算任务启动前,确定子任务的数量;
[0008]根据所述子任务的数量,确定所需的寄存器个数;
[0009]将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;
[0010]启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;
[0011]读取各寄存器中比特位的值,统计比特位被置1的总数;
[0012]根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。
[0013]可选地,所述确定子任务的数量包括:
[0014]根据并行计算的数据总量与硬件特性,确定子任务的数量。
[0015]可选地,所述根据所述子任务的数量,确定所需的寄存器个数包括:
[0016]将所述子任务的数量除以寄存器的位数,得到的结果向上取整,作为所需的寄存器个数。
[0017]可选地,所述根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度包括:
[0018]将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
[0019]第二方面,本专利技术提供一种获取并行计算任务进度的系统,包括:
[0020]控制单元,与寄存器连接,用于在并行计算任务启动前,确定子任务的数量,根据子任务的数量,计算需要的寄存器个数,将各寄存器的值初始化为0,在并行计算过程中,读取各寄存器中比特位的值,统计比特位被置1的总数,根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度;
[0021]寄存器,与控制单元连接,所述寄存器的比特位通过总线单元与子任务模块一一对应连接,并行计算任务启动后,各子任务模块并行执行,子任务完成后产生的高电平将所述寄存器中与所述子任务对应的比特位置1;
[0022]总线单元,与寄存器连接,用于将所述寄存器的比特位与子任务模块一一对应连接。
[0023]可选地,所述控制单元,还用于根据并行计算的数据总量与硬件特性,计算出子任务的数量。
[0024]可选地,所述控制单元,还用于将子任务的数量除以寄存器的位数,得到的结果向上取整,作为需要的寄存器个数。
[0025]可选地,所述控制单元,还用于将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
[0026]第三方面,本专利技术提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述获取并行计算任务进度的方法。
[0027]本专利技术实施例提供的获取并行计算任务进度的方法、系统及计算机可读存储介质,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,通过各比特位上的0/1状态,来表征子任务的完成状态,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
附图说明
[0028]图1为本专利技术实施例获取并行计算任务进度的方法的流程图;
[0029]图2为本专利技术实施例获取并行计算任务进度的系统的结构示意图。
具体实施方式
[0030]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0031]本专利技术实施例提供一种获取并行计算任务进度的方法,如图1所示,所述方法包括:
[0032]S11、并行计算任务启动前,确定子任务的数量。
[0033]S12、根据所述子任务的数量,确定所需的寄存器个数。
[0034]S13、将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务
模块一一对应连接。
[0035]S14、启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。
[0036]S15、读取各寄存器中比特位的值,统计比特位被置1的总数。
[0037]S16、根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。
[0038]本专利技术实施例提供的获取并行计算任务进度的方法,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1,根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
[0039]下面对本专利技术实施例获取并行计算任务进度的方法进行详细说明:
[0040]S21、并行计算任务启动前,根据数据总量与硬件特性,确定出子任务的数量n。
[0041]具体地,可以根据执行计算任务的硬件自身的特性,例如能够并行处理子任务的个数,结合所要计算的数据总量,综合确定子任务的数量。
[0042]S22、根据子任务的数量n,计算出所需的寄存器个数m。
[0043]在本实施例中,寄存器为64bit位宽,1个计算任务对应1个bit,因此m的计算方法为:m=ceil(n/64),其中,ceil代表向上取整。
[0044]S23、通过控本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种获取并行计算任务进度的方法,其特征在于,包括:并行计算任务启动前,确定子任务的数量;根据所述子任务的数量,确定所需的寄存器个数;将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;读取各寄存器中比特位的值,统计比特位被置1的总数;根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。2.根据权利要求1所述的方法,其特征在于,所述确定子任务的数量包括:根据并行计算的数据总量与硬件特性,确定子任务的数量。3.根据权利要求1所述的方法,其特征在于,所述根据所述子任务的数量,确定所需的寄存器个数包括:将所述子任务的数量除以寄存器的位数,得到的结果向上取整,作为所需的寄存器个数。4.根据权利要求1所述的方法,其特征在于,所述根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度包括:将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。5.一种获取并行计算任务进度的系统,其特征在于,包括:控制单元,与寄存器连接,用于在并行计算任务启动前,确定子任...

【专利技术属性】
技术研发人员:汤小平
申请(专利权)人:成都海光集成电路设计有限公司
类型:发明
国别省市:

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

1