CN112433914A - 获取并行计算任务进度的方法及系统 - Google Patents
获取并行计算任务进度的方法及系统 Download PDFInfo
- Publication number
- CN112433914A CN112433914A CN202011351459.8A CN202011351459A CN112433914A CN 112433914 A CN112433914 A CN 112433914A CN 202011351459 A CN202011351459 A CN 202011351459A CN 112433914 A CN112433914 A CN 112433914A
- Authority
- CN
- China
- Prior art keywords
- subtasks
- register
- parallel computing
- computing task
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Multi Processors (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明提供一种获取并行计算任务进度的方法、系统及计算机可读存储介质。所述方法包括:并行计算任务启动前,确定子任务的数量;根据所述子任务的数量,确定所需的寄存器个数;将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;读取各寄存器中比特位的值,统计比特位被置1的总数;根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。本发明能够实时和精确地获取并行计算任务进度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种获取并行计算任务进度的方法、系统及计算机可读存储介质。
背景技术
在并行计算过程中,一个计算任务常常被划分为多个计算子任务,各子任务之间并行执行,最后各子任务将计算结果写入指定的结果区域,完成计算任务。
不同的并行计算设备,根据自身的硬件特性,分解后的子任务形态各不相同,例如:在CPU(Central Processing Unit,中央处理器)设备上,一个并行计算任务被分为多个进程,由多个CPU核并行运行;在GPU(Graphics Processing Unit,图形处理器)设备上,根据GPU上的硬件计算单元,一个并行计算任务被分为多个CU,然后多个CU并行计算。
当前,大多数并行计算设备,在启动一个并行计算任务后,只能提供两种进度状态:完成以及进行中,不能提供更进一步的进度显示。
发明内容
本发明提供的获取并行计算任务进度的方法、系统及计算机可读存储介质,能够实时和精确地获取并行计算任务进度。
第一方面,本发明提供一种获取并行计算任务进度的方法,包括:
并行计算任务启动前,确定子任务的数量;
根据所述子任务的数量,确定所需的寄存器个数;
将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;
启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;
读取各寄存器中比特位的值,统计比特位被置1的总数;
根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。
可选地,所述确定子任务的数量包括:
根据并行计算的数据总量与硬件特性,确定子任务的数量。
可选地,所述根据所述子任务的数量,确定所需的寄存器个数包括:
将所述子任务的数量除以寄存器的位数,得到的结果向上取整,作为所需的寄存器个数。
可选地,所述根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度包括:
将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
第二方面,本发明提供一种获取并行计算任务进度的系统,包括:
控制单元,与寄存器连接,用于在并行计算任务启动前,确定子任务的数量,根据子任务的数量,计算需要的寄存器个数,将各寄存器的值初始化为0,在并行计算过程中,读取各寄存器中比特位的值,统计比特位被置1的总数,根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度;
寄存器,与控制单元连接,所述寄存器的比特位通过总线单元与子任务模块一一对应连接,并行计算任务启动后,各子任务模块并行执行,子任务完成后产生的高电平将所述寄存器中与所述子任务对应的比特位置1;
总线单元,与寄存器连接,用于将所述寄存器的比特位与子任务模块一一对应连接。
可选地,所述控制单元,还用于根据并行计算的数据总量与硬件特性,计算出子任务的数量。
可选地,所述控制单元,还用于将子任务的数量除以寄存器的位数,得到的结果向上取整,作为需要的寄存器个数。
可选地,所述控制单元,还用于将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
第三方面,本发明提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述获取并行计算任务进度的方法。
本发明实施例提供的获取并行计算任务进度的方法、系统及计算机可读存储介质,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,通过各比特位上的0/1状态,来表征子任务的完成状态,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
附图说明
图1为本发明实施例获取并行计算任务进度的方法的流程图;
图2为本发明实施例获取并行计算任务进度的系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种获取并行计算任务进度的方法,如图1所示,所述方法包括:
S11、并行计算任务启动前,确定子任务的数量。
S12、根据所述子任务的数量,确定所需的寄存器个数。
S13、将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接。
S14、启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。
S15、读取各寄存器中比特位的值,统计比特位被置1的总数。
S16、根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。
本发明实施例提供的获取并行计算任务进度的方法,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1,根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
下面对本发明实施例获取并行计算任务进度的方法进行详细说明:
S21、并行计算任务启动前,根据数据总量与硬件特性,确定出子任务的数量n。
具体地,可以根据执行计算任务的硬件自身的特性,例如能够并行处理子任务的个数,结合所要计算的数据总量,综合确定子任务的数量。
S22、根据子任务的数量n,计算出所需的寄存器个数m。
在本实施例中,寄存器为64bit位宽,1个计算任务对应1个bit,因此m的计算方法为:m=ceil(n/64),其中,ceil代表向上取整。
S23、通过控制单元,将m个寄存器的值初始化为0。
初始化之后,每个寄存器各比特位的值均为0。
S24、控制单元设置总线单元,将m个寄存器的比特位通过总线单元与各子任务模块一一对应连接。
S25、启动并行计算任务,各子任务模块并行执行,当子任务完成后,产生高电平,该高电平将寄存器中与所述子任务对应的比特位置1。
S26、需要获取计算任务进度时,通过控制单元,读取各寄存器中比特位的值,统计出读取到的寄存器中比特位被置1的总数x。
S27、根据所述比特位被置1的总数x以及子任务的数量获取并行计算任务进度。
具体地,按照如下公式进行计算:(x/n)*100%,得到的百分比即为并行计算任务进度。
本发明实施例提供的获取并行计算任务进度的方法,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,通过各比特位上的0/1状态,来表征子任务的完成状态,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
本发明实施例还提供一种获取并行计算任务进度的系统,如图2所示,所述系统包括:
控制单元,与寄存器连接,用于在并行计算任务启动前,确定子任务的数量,根据子任务的数量,计算需要的寄存器个数,将各寄存器的值初始化为0,在并行计算过程中,读取各寄存器中比特位的值,统计比特位被置1的总数,根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度;
寄存器,与控制单元连接,所述寄存器的比特位通过总线单元与子任务模块一一对应连接,并行计算任务启动后,各子任务模块并行执行,子任务完成后产生的高电平将所述寄存器中与所述子任务对应的比特位置1;
总线单元,与寄存器连接,用于将所述寄存器的比特位与子任务模块一一对应连接。
本发明实施例提供的获取并行计算任务进度的系统,各寄存器的比特位通过总线单元与子任务模块一一对应连接,将子任务的完成状态与硬件寄存器比特位的值进行映射,通过各比特位上的0/1状态,来表征子任务的完成状态,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1。根据比特位被置1的总数以及子任务的数量,即可实时及精确地获取并行计算任务的进度;另外,如果计算任务中途发生异常,可以根据任务进度,只重新计算还未完成的任务。
可选地,所述控制单元,还用于根据并行计算的数据总量与硬件特性,计算出子任务的数量。
可选地,所述控制单元,还用于将子任务的数量除以寄存器的位数,得到的结果向上取整,作为需要的寄存器个数。
可选地,所述控制单元,还用于将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
本实施例的系统,可以用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现上述获取并行计算任务进度的方法。
本领域普通技术人员可以理解实现上述方法实施例中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种获取并行计算任务进度的方法,其特征在于,包括:
并行计算任务启动前,确定子任务的数量;
根据所述子任务的数量,确定所需的寄存器个数;
将各寄存器的值初始化为0,其中,各寄存器的比特位通过总线单元与子任务模块一一对应连接;
启动并行计算任务,各子任务模块并行执行,其中,子任务完成后产生的高电平将寄存器中与所述子任务对应的比特位置1;
读取各寄存器中比特位的值,统计比特位被置1的总数;
根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度。
2.根据权利要求1所述的方法,其特征在于,所述确定子任务的数量包括:
根据并行计算的数据总量与硬件特性,确定子任务的数量。
3.根据权利要求1所述的方法,其特征在于,所述根据所述子任务的数量,确定所需的寄存器个数包括:
将所述子任务的数量除以寄存器的位数,得到的结果向上取整,作为所需的寄存器个数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度包括:
将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
5.一种获取并行计算任务进度的系统,其特征在于,包括:
控制单元,与寄存器连接,用于在并行计算任务启动前,确定子任务的数量,根据子任务的数量,计算需要的寄存器个数,将各寄存器的值初始化为0,在并行计算过程中,读取各寄存器中比特位的值,统计比特位被置1的总数,根据所述比特位被置1的总数以及子任务的数量获取并行计算任务进度;
寄存器,与控制单元连接,所述寄存器的比特位通过总线单元与子任务模块一一对应连接,并行计算任务启动后,各子任务模块并行执行,子任务完成后产生的高电平将所述寄存器中与所述子任务对应的比特位置1;
总线单元,与寄存器连接,用于将所述寄存器的比特位与子任务模块一一对应连接。
6.根据权利要求5所述的系统,其特征在于,所述控制单元,还用于根据并行计算的数据总量与硬件特性,计算出子任务的数量。
7.根据权利要求5所述的系统,其特征在于,所述控制单元,还用于将子任务的数量除以寄存器的位数,得到的结果向上取整,作为需要的寄存器个数。
8.根据权利要求5所述的系统,其特征在于,所述控制单元,还用于将所述比特位被置1的总数除以子任务的数量,得到的百分比即为并行计算任务进度。
9.一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1至4中任一项所述的获取并行计算任务进度的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011351459.8A CN112433914B (zh) | 2020-11-26 | 2020-11-26 | 获取并行计算任务进度的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011351459.8A CN112433914B (zh) | 2020-11-26 | 2020-11-26 | 获取并行计算任务进度的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433914A true CN112433914A (zh) | 2021-03-02 |
CN112433914B CN112433914B (zh) | 2023-06-13 |
Family
ID=74698880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011351459.8A Active CN112433914B (zh) | 2020-11-26 | 2020-11-26 | 获取并行计算任务进度的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433914B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821321A (zh) * | 2021-08-31 | 2021-12-21 | 上海商汤阡誓科技有限公司 | 任务处理芯片、方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058881A (zh) * | 2019-02-22 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种定点累加运算的处理方法、装置和电子设备 |
US20190332731A1 (en) * | 2018-04-27 | 2019-10-31 | Alibaba Group Holding Limited | Method and system for quantum computing |
CN111738703A (zh) * | 2020-05-29 | 2020-10-02 | 中国科学院计算技术研究所 | 一种加速安全散列算法的加速器 |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
-
2020
- 2020-11-26 CN CN202011351459.8A patent/CN112433914B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190332731A1 (en) * | 2018-04-27 | 2019-10-31 | Alibaba Group Holding Limited | Method and system for quantum computing |
CN110058881A (zh) * | 2019-02-22 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种定点累加运算的处理方法、装置和电子设备 |
CN111738703A (zh) * | 2020-05-29 | 2020-10-02 | 中国科学院计算技术研究所 | 一种加速安全散列算法的加速器 |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
Non-Patent Citations (2)
Title |
---|
RISAT PATHAN 等: "Scheduling Parallel Real-Time Recurrent Tasks on Multicore Platforms", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》, vol. 29, no. 4, pages 915 * |
俞永盛 等: "基于CUDA平台的规则LDPC码的译码实现研究", 《计算机应用与软件》, vol. 27, no. 4, pages 230 - 232 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821321A (zh) * | 2021-08-31 | 2021-12-21 | 上海商汤阡誓科技有限公司 | 任务处理芯片、方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112433914B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294985B2 (en) | Efficient analog in-memory matrix multiplication processor | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
CN111814106A (zh) | 时序数据滞后性处理方法、装置、电子设备及存储介质 | |
CN112433914A (zh) | 获取并行计算任务进度的方法及系统 | |
CN109960841B (zh) | 一种流体表面张力的仿真方法、终端设备及存储介质 | |
CN117762338A (zh) | 存储器分组方法、装置、电子设备及存储介质 | |
CN111295658B (zh) | 模拟装置、模拟方法和计算机能读取的存储介质 | |
JP6239195B2 (ja) | 性能評価装置及び性能評価プログラム | |
CN110287028B (zh) | 一种模式切换的方法以及相关装置 | |
CN117010465A (zh) | 神经网络加速器的调度方法、装置、电子设备及存储介质 | |
JP7151870B2 (ja) | スコア分布変換装置、スコア分布変換方法およびスコア分布変換プログラム | |
CN112242959B (zh) | 微服务限流控制方法、装置、设备及计算机存储介质 | |
CN113656070A (zh) | 处理器的随机指令验证方法、装置、电子设备及存储介质 | |
CN114816758B (zh) | 资源分配方法和装置 | |
CN115905135B (zh) | 多帧3d文件处理方法及装置 | |
CN111208994B (zh) | 计算机图形应用程序的执行方法、装置及电子设备 | |
CN114912763B (zh) | 一种武器装备体系综合能力的确定方法及装置 | |
CN115292189A (zh) | 车辆测试方法、装置、电子设备及存储介质 | |
US10454497B1 (en) | Reducing a size of multiple data sets | |
EP4231208A1 (en) | Machine learning program, machine learning method, and machine learning device | |
CN118051264A (zh) | 一种矩阵处理方法、装置、电子设备和存储介质 | |
CN111625526A (zh) | 模糊数据处理方法、系统及终端设备 | |
CN118409802A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN116243984A (zh) | 数据处理装置、方法、电子设备和存储介质 | |
CN115080120A (zh) | 寄存器的验证方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |