CN112433914B - 获取并行计算任务进度的方法及系统 - Google Patents

获取并行计算任务进度的方法及系统 Download PDF

Info

Publication number
CN112433914B
CN112433914B CN202011351459.8A CN202011351459A CN112433914B CN 112433914 B CN112433914 B CN 112433914B CN 202011351459 A CN202011351459 A CN 202011351459A CN 112433914 B CN112433914 B CN 112433914B
Authority
CN
China
Prior art keywords
subtasks
parallel computing
register
bit
subtask
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.)
Active
Application number
CN202011351459.8A
Other languages
English (en)
Other versions
CN112433914A (zh
Inventor
汤小平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Haiguang Integrated Circuit Design Co Ltd
Original Assignee
Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Haiguang Integrated Circuit Design Co Ltd filed Critical Chengdu Haiguang Integrated Circuit Design Co Ltd
Priority to CN202011351459.8A priority Critical patent/CN112433914B/zh
Publication of CN112433914A publication Critical patent/CN112433914A/zh
Application granted granted Critical
Publication of CN112433914B publication Critical patent/CN112433914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Devices For Executing Special Programs (AREA)
  • Multi Processors (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中任一项所述的获取并行计算任务进度的方法。
CN202011351459.8A 2020-11-26 2020-11-26 获取并行计算任务进度的方法及系统 Active CN112433914B (zh)

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 CN112433914A (zh) 2021-03-02
CN112433914B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821321A (zh) * 2021-08-31 2021-12-21 上海商汤阡誓科技有限公司 任务处理芯片、方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058881A (zh) * 2019-02-22 2019-07-26 阿里巴巴集团控股有限公司 一种定点累加运算的处理方法、装置和电子设备
CN111738703A (zh) * 2020-05-29 2020-10-02 中国科学院计算技术研究所 一种加速安全散列算法的加速器
CN111831330A (zh) * 2020-07-10 2020-10-27 深圳致星科技有限公司 用于联邦学习的异构计算系统设备交互方案

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110428055A (zh) * 2018-04-27 2019-11-08 阿里巴巴集团控股有限公司 量子计算方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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)

* Cited by examiner, † Cited by third party
Title
Scheduling Parallel Real-Time Recurrent Tasks on Multicore Platforms;Risat Pathan 等;《IEEE Transactions on Parallel and Distributed Systems》;第29卷(第4期);915 - 928 *
基于CUDA平台的规则LDPC码的译码实现研究;俞永盛 等;《计算机应用与软件》;第27卷(第4期);230-232、266 *

Also Published As

Publication number Publication date
CN112433914A (zh) 2021-03-02

Similar Documents

Publication Publication Date Title
US8200940B1 (en) Reduction operations in a synchronous parallel thread processing system with disabled execution threads
CN106547515B (zh) 用于执行算术运算的方法和处理设备
EP2738675B1 (en) System and method for efficient resource management of a signal flow programmed digital signal processor code
CN110825436B (zh) 应用于人工智能芯片的计算方法和人工智能芯片
US20150046684A1 (en) Technique for grouping instructions into independent strands
JP2020519993A5 (zh)
US20180247223A1 (en) System and method of selecting a computational platform
US9513923B2 (en) System and method for context migration across CPU threads
CN112433914B (zh) 获取并行计算任务进度的方法及系统
US9830731B2 (en) Methods of a graphics-processing unit for tile-based rendering of a display area and graphics-processing apparatus
US20180329683A1 (en) Reproducible stochastic rounding for out of order processors
WO2020116211A1 (ja) 推定装置、最適化装置、推定方法、最適化方法、及びプログラム
CN109960841B (zh) 一种流体表面张力的仿真方法、终端设备及存储介质
CN111295658B (zh) 模拟装置、模拟方法和计算机能读取的存储介质
US9442831B1 (en) Automated testing of program code for processing a simple boot flag data structure
JP2022124240A (ja) 診断パターン生成方法及び計算機
US20160077942A1 (en) Storage system and test method for testing pci express interface
CN113688089B (zh) 数据处理方法、计算系统和计算机存储介质
KR102315279B1 (ko) 작업 그룹의 크기를 결정하는 장치 및 방법
CN116368496A (zh) 电子设备和电子设备的控制方法
CN117331664A (zh) 基于命令驱动的并发计算系统及方法
US20150006090A1 (en) String sequencing with multiple search stages
CN111208994A (zh) 应用程序的执行方法、装置、电子设备及存储介质
CN114490041A (zh) 数组计算方法、装置、设备、介质和计算机程序产品
CN116862750A (zh) 电力矩阵lu分解加速方法、装置、设备及存储介质

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