CN116185940B - 一种原子计数器的操作方法、装置、设备及存储介质 - Google Patents

一种原子计数器的操作方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116185940B
CN116185940B CN202310464889.8A CN202310464889A CN116185940B CN 116185940 B CN116185940 B CN 116185940B CN 202310464889 A CN202310464889 A CN 202310464889A CN 116185940 B CN116185940 B CN 116185940B
Authority
CN
China
Prior art keywords
thread group
current processing
thread
atomic
atomic counter
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
CN202310464889.8A
Other languages
English (en)
Other versions
CN116185940A (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.)
Li Computing Technology Shanghai Co ltd
Original Assignee
Li Computing Technology Shanghai Co ltd
Nanjing Lisuan Technology 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 Li Computing Technology Shanghai Co ltd, Nanjing Lisuan Technology Co ltd filed Critical Li Computing Technology Shanghai Co ltd
Priority to CN202310464889.8A priority Critical patent/CN116185940B/zh
Publication of CN116185940A publication Critical patent/CN116185940A/zh
Application granted granted Critical
Publication of CN116185940B publication Critical patent/CN116185940B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hall/Mr Elements (AREA)

Abstract

本发明公开了一种原子计数器的操作方法、装置、设备及存储介质,包括:获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。本发明实施例的技术方案可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。

Description

一种原子计数器的操作方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种原子计数器的操作方法、装置、设备及存储介质。
背景技术
原子计数器是具备原子性事务的计数器,其具备单线程执行任务的能力,在高并发请求状态下也会保证按顺序去执行任务。
现有技术中,图形处理器(Graphics Processing Unit,GPU)中通常部署多个对原子计数器进行操作的线程组warp,每个线程组中包括多个线程thread。在对原子计数器进行操作时,通常采用串行执行的方式完成各个线程,即在一个线程执行完毕之后,再执行下一个线程。
由于原子计数器具有全局性,因此会有大量线程访问同一个原子计数器,在这种情况下如果采用串行方式执行各个线程,将会严重影响原子计数器的访问效率和性能。
发明内容
本发明提供了一种原子计数器的操作方法、装置、设备及存储介质,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
根据本发明的一方面,提供了一种原子计数器的操作方法,所述方法包括:
获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;
根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;
在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
根据本发明的另一方面,提供了一种原子计数器的操作装置,所述装置包括:
线程组获取模块,用于获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;
指令确定模块,用于根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;
数据计算模块,用于在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
根据本发明的另一方面,提供了一种电子设备,所述设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的原子计数器的操作方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的原子计数器的操作方法。
本发明提供的技术方案,通过获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;在多个线程组中依次获取一个线程组作为当前处理线程组,根据当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据的技术手段,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种原子计数器的操作方法的流程图;
图2是根据本发明实施例提供的另一种原子计数器的操作方法的流程图;
图3是根据本发明实施例提供的另一种原子计数器的操作方法的流程图;
图4是根据本发明实施例提供的一种原子计数器的操作装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明实施例一提供的一种原子计数器的操作方法的流程图,本实施例可适用于GPU中的多个原子操作线程,对原子计数器进行访问的情况,该方法可以由原子计数器的操作装置来执行,该原子计数器的操作装置可以采用硬件和/或软件的形式实现,该原子计数器的操作装置可配置于电子设备中。如图1所示,该方法包括:
步骤110、获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器。
在本实施例中,GPU中可以包括多个内核core,每个内核core上可以部署多个待处理的线程组,每个线程组中可以包括多个用于对原子计数器进行操作的线程。
在此步骤中,可选的,获取到多个线程组后,可以根据每个线程组中线程对应的访问请求,确定与各线程组对应的原子计数器。可选的,所述访问请求中可以包括对应原子计数器的标识信息。
步骤120、根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令。
在本实施例中,每个线程组对应的访问请求中,还可以包括各线程针对原子计数器的原子操作函数(也即与所述线程组对应的原子操作函数),在获取到所述原子操作函数之后,可以根据所述原子操作函数匹配的操作类型,转换为原子计数器操作指令。
在一个具体的实施例中,所述原子计数器操作指令可以为通过硬件形式,或软硬件结合实现的ADD指令(也即加法指令)。
步骤130、在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
在本实施例中,可以根据多个待处理线程组的排序结果,在多个线程组中依次获取一个线程组作为当前处理线程组,然后根据加法指令的运算类型、原子计数器的原始数值,以及当前处理线程组中各线程对应的排序结果,并行计算当前处理线程组中每个线程对应的结果数据。
在一个具体的实施例中,假设当前处理线程组中包括五个线程,当前处理线程组匹配的加法指令为数值加1指令,原子计数器的原始数值为1,则可以并行计算得到每个线程分别匹配的结果数据为:2、3、4、5、6。
在本实施例中,所述加法指令可以为硬件指令,或者软硬件结合的指令,本实施例对此并不进行限制。通过将GPU中线程组对应的硬件形式的原子操作函数,转换为加法指令,可以实现对线程组中全部线程的结果数据进行并行计算,无需在一个线程执行完毕之后,再执行下一个线程,由此可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能以及操作效率。
本发明实施例提供的技术方案,通过获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;在多个线程组中依次获取一个线程组作为当前处理线程组,根据当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据的技术手段,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
图2为本发明实施例二提供的一种原子计数器的操作方法的流程图,本实施例是对上述实施例的进一步细化。如图2所示,该方法包括:
步骤210、获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器。
步骤220、根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令。
在本实施例的一个实施方式中,根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令,包括:获取每个线程组对应的原子操作函数,如果所述原子操作函数为分配函数allocate,则确定所述线程组匹配的加法指令为数值增加指令;如果所述原子操作函数为消费函数consume,则确定所述线程组匹配的加法指令为数值减少指令。
在一个具体的实施例中,所述数值增加指令可以为数值加1指令,数值减少指令可以为数值减1指令。
步骤230、在多个线程组中依次获取一个线程组作为当前处理线程组。
步骤240、获取当前处理线程组中多个线程的排列顺序,根据排列顺序统计每个线程之前的线程数量。
步骤250、根据当前处理线程组对应原子计数器的原始数值、当前处理线程组匹配的加法指令,以及每个线程之前的线程数量,并行计算每个线程对应的结果数据。
在本实施例中,对于当前处理线程组中某个线程,可以按照当前处理线程组匹配的加法指令,将原子计数器的原始数值,与该线程之前的线程数量进行相加或相减,得到该线程对应的结果数据。
在一个具体的实施例中,假设当前处理线程组中包括五个线程(线程A、线程B、线程C、线程D以及线程E),当前处理线程组匹配的加法指令为数值加1指令,原子计数器的原始数值为5。以线程C为例,该线程之前的线程数量为2,则可以按照数值加1指令,通过5+2+1得到结果数据8。
在另一个具体的实施例中,假设当前处理线程组中包括五个线程(线程A、线程B、线程C、线程D以及线程E),当前处理线程组匹配的加法指令为数值减1指令,原子计数器的原始数值为10。以线程C为例,该线程之前的线程数量为2,则可以按照数值减1指令,通过10-2-1得到结果数据7。
这样设置的好处在于,通过统计每个线程之前的线程数量,可以快速并行计算出每个线程对应的结果数据,提高原子计数器的操作效率。
在本实施例的一个实施方式中,在并行计算每个线程对应的结果数据之后,还包括:检测到全部线程对应的结果数据计算完成之后,对当前处理线程组对应原子计数器的原始数值进行更新,并将更新结果写入所述原子计数器。
在一个具体的实施例中,可以将当前处理线程组中最后一个线程对应的结果数据,作为所述更新结果写入原子计数器中。
这样设置的好处在于,通过对原子计数器的原始数值进行更新,便于其他线程组根据更新结果,快速确定对应线程的结果数据。
步骤260、判断是否完成对全部线程组的处理,若是,则确定所述原子计数器的操作方法执行结束,若否,则返回执行步骤230,直至完成对全部线程组的处理。
本实施例提供的技术方案,通过获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器,根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令,在多个线程组中依次获取一个线程组作为当前处理线程组,获取当前处理线程组中多个线程的排列顺序,根据排列顺序统计每个线程之前的线程数量,根据当前处理线程组对应原子计数器的原始数值、当前处理线程组匹配的加法指令,以及每个线程之前的线程数量,并行计算每个线程对应的结果数据的技术手段,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
图3为本发明实施例三提供的另一种原子计数器的操作方法的流程图,本实施例是对上述实施例的进一步细化。如图3所示,该方法包括:
步骤310、获取GPU中的多个待处理的线程组,建立与每个线程组一一对应的优化器,确定每个线程组对应的原子计数器。
在本实施例中,获取到GPU中的多个待处理的线程组后,可以建立与每个线程组分别对应的统一处理模块(也即优化器)。具体的,所述优化器可以为GPU中的硬件优化模块,或者也可以为硬件优化模块中的软件处理程序,本实施例对此并不进行限制。
步骤320、根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令。
步骤330、在多个线程组中依次获取一个线程组作为当前处理线程组。
步骤340、通过当前处理线程组对应的优化器,根据所述加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
这样设置的好处在于,通过建立与每个线程组一一对应的优化器,可以将线程组中多个线程对应的原子操作合并为一个,避免多个线程对原子计数器进行同时访问,由此提高原子计数器的性能。
步骤350、检测到全部线程对应的结果数据计算完成之后,获取当前处理线程组中的全部线程数量,根据所述当前处理线程组匹配的加法指令,以及全部线程数量,生成对应原子计数器的数值更新指令。
在本实施例中,可以将当前处理线程组中的全部线程数量,作为加法指令中的数值增量,以得到数值更新指令。
在一个具体的实施例中,假设当前处理线程组匹配的加法指令为“ADD+1”(也即数值加1指令),当前处理线程组中的全部线程数量为N,则可以得到数值更新指令为“ADD+N”。
步骤360、根据所述数值更新指令,对所述原子计数器的原始数值进行更新。
在此步骤中,可以通过当前处理线程组对应的优化器,根据数值更新指令中的数值增量,对原始数值进行计算,得到更新后的原始数值。
这样设置的好处在于,通过优化器获取数值更新指令,可以快速对原子计数器的原始数值进行更新,提高原子计数器的操作效率。
步骤370、判断是否完成对全部线程组的处理,若是,则确定所述原子计数器的操作方法执行结束,若否,则返回执行步骤330,直至完成对全部线程组的处理。
本实施例提供的技术方案,通过获取GPU中的多个待处理的线程组,建立与每个线程组一一对应的优化器,确定每个线程组对应的原子计数器,根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令,在多个线程组中依次获取一个线程组作为当前处理线程组,通过当前处理线程组对应的优化器,根据加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据,检测到全部线程对应的结果数据计算完成之后,获取当前处理线程组中的全部线程数量,根据当前处理线程组匹配的加法指令,以及全部线程数量,生成对应原子计数器的数值更新指令,根据数值更新指令,对原子计数器的原始数值进行更新的技术手段,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
图4为本发明实施例四提供的一种原子计数器的操作装置的结构示意图,所述装置应用于电子设备中。如图4所示,该装置包括:线程组获取模块410、指令确定模块420和数据计算模块430。
其中,线程组获取模块410,用于获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;
指令确定模块420,用于根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;
数据计算模块430,用于在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
本实施例提供的技术方案,通过获取GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;在多个线程组中依次获取一个线程组作为当前处理线程组,根据当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据的技术手段,可以有效减少GPU中线程对原子计数器访问次数,提高原子计数器的性能。
在上述实施例的基础上,所述线程组获取模块410包括:
优化器建立单元,用于建立与每个线程组一一对应的优化器。
所述指令确定模块420包括:
数值增加单元,用于获取每个线程组对应的原子操作函数,如果所述原子操作函数为分配函数,则确定所述线程组匹配的加法指令为数值增加指令;
数值减少单元,用于如果所述原子操作函数为消费函数,则确定所述线程组匹配的加法指令为数值减少指令。
所述数据计算模块430包括:
优化器处理单元,用于通过当前处理线程组对应的优化器,根据所述加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据;
顺序获取单元,用于获取当前处理线程组中多个线程的排列顺序,根据排列顺序统计每个线程之前的线程数量;
并行计算单元,用于根据当前处理线程组对应原子计数器的原始数值、当前处理线程组匹配的加法指令,以及每个线程之前的线程数量,并行计算每个线程对应的结果数据;
数值更新单元,用于检测到全部线程对应的结果数据计算完成之后,对当前处理线程组对应原子计数器的原始数值进行更新,并将更新结果写入所述原子计数器;
更新指令生成单元,用于获取当前处理线程组中的全部线程数量,根据所述当前处理线程组匹配的加法指令,以及全部线程数量,生成对应原子计数器的数值更新指令;
更新指令处理单元,用于根据所述数值更新指令,对所述原子计数器的原始数值进行更新。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
在上述实施方式的基础上,本申请还提供了一种电子设备,所述设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行任一实施例所述的原子计数器的操作方法。
本申请还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令用于使处理器执行时实现任一实施例所述的原子计数器的操作方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种原子计数器的操作方法,其特征在于,所述方法包括:
获取图形处理器GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;
根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;
在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
2.根据权利要求1所述的方法,其特征在于,根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令,包括:
获取每个线程组对应的原子操作函数,如果所述原子操作函数为分配函数,则确定所述线程组匹配的加法指令为数值增加指令;
如果所述原子操作函数为消费函数,则确定所述线程组匹配的加法指令为数值减少指令。
3.根据权利要求1所述的方法,其特征在于,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据,包括:
获取当前处理线程组中多个线程的排列顺序,根据所述排列顺序,统计每个线程之前的线程数量;
根据当前处理线程组对应原子计数器的原始数值、当前处理线程组匹配的加法指令,以及每个线程之前的线程数量,并行计算每个线程对应的结果数据。
4.根据权利要求1所述的方法,其特征在于,在并行计算每个线程对应的结果数据之后,还包括:
检测到全部线程对应的结果数据计算完成之后,对当前处理线程组对应原子计数器的原始数值进行更新,并将更新结果写入所述原子计数器。
5.根据权利要求4所述的方法,其特征在于,对当前处理线程组对应原子计数器的原始数值进行更新,包括:
获取当前处理线程组中的全部线程数量,根据所述当前处理线程组匹配的加法指令,以及全部线程数量,生成对应原子计数器的数值更新指令;
根据所述数值更新指令,对所述原子计数器的原始数值进行更新。
6.根据权利要求1所述的方法,其特征在于,在获取GPU中的多个待处理的线程组之后,还包括:建立与每个线程组一一对应的优化器;
根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据,包括:
通过当前处理线程组对应的优化器,根据所述加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
7.一种原子计数器的操作装置,其特征在于,所述装置包括:
线程组获取模块,用于获取图形处理器GPU中的多个待处理的线程组,确定每个线程组对应的原子计数器;
指令确定模块,用于根据每个线程组对应的原子操作函数,确定与每个线程组匹配的加法指令;
数据计算模块,用于在多个线程组中依次获取一个线程组作为当前处理线程组,根据所述当前处理线程组匹配的加法指令、当前处理线程组对应原子计数器的原始数值,以及当前处理线程组中包括的多个线程,并行计算每个线程对应的结果数据。
8.根据权利要求7所述的装置,其特征在于,所述数据计算模块包括:
顺序获取单元,用于获取当前处理线程组中多个线程的排列顺序,根据所述排列顺序,统计每个线程之前的线程数量;
并行计算单元,用于根据当前处理线程组对应原子计数器的原始数值、当前处理线程组匹配的加法指令,以及每个线程之前的线程数量,并行计算每个线程对应的结果数据。
9.一种电子设备,其特征在于,所述设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的原子计数器的操作方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-6中任一项所述的原子计数器的操作方法。
CN202310464889.8A 2023-04-27 2023-04-27 一种原子计数器的操作方法、装置、设备及存储介质 Active CN116185940B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310464889.8A CN116185940B (zh) 2023-04-27 2023-04-27 一种原子计数器的操作方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310464889.8A CN116185940B (zh) 2023-04-27 2023-04-27 一种原子计数器的操作方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN116185940A CN116185940A (zh) 2023-05-30
CN116185940B true CN116185940B (zh) 2023-06-23

Family

ID=86452602

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310464889.8A Active CN116185940B (zh) 2023-04-27 2023-04-27 一种原子计数器的操作方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116185940B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190559A (zh) * 2012-12-20 2015-12-23 甲骨文国际公司 用于实现存储更新概率值的共享概率计数器的系统和方法
CN115905040A (zh) * 2023-02-01 2023-04-04 南京砺算科技有限公司 计数器的处理方法、图形处理器、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2566339B (en) * 2017-09-06 2019-11-27 Advanced Risc Mach Ltd An apparatus and method of executing thread groups

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105190559A (zh) * 2012-12-20 2015-12-23 甲骨文国际公司 用于实现存储更新概率值的共享概率计数器的系统和方法
CN115905040A (zh) * 2023-02-01 2023-04-04 南京砺算科技有限公司 计数器的处理方法、图形处理器、设备及存储介质

Also Published As

Publication number Publication date
CN116185940A (zh) 2023-05-30

Similar Documents

Publication Publication Date Title
CN111045814A (zh) 资源调度方法和终端设备
CN115150471B (zh) 数据处理方法、装置、设备、存储介质及程序产品
CN116126346B (zh) Ai模型的代码编译方法、装置、计算机设备及存储介质
CN111680085A (zh) 数据处理任务分析方法、装置、电子设备和可读存储介质
CN107704266B (zh) 一种应用于解决粒子模拟并行数据竞争的归约方法
CN107977504B (zh) 一种非对称堆芯燃料管理计算方法、装置及终端设备
CN113268403A (zh) 时间序列的分析预测方法、装置、设备及存储介质
CN116957577A (zh) 交易中的Gas值预估方法、装置、存储介质及设备
CN117195568A (zh) 一种基于离散事件的仿真引擎性能分析方法及装置
CN116185940B (zh) 一种原子计数器的操作方法、装置、设备及存储介质
CN111274667A (zh) 一种跨尺度材料计算软件集成计算系统及方法
CN109857832A (zh) 一种支付数据的预处理方法和装置
CN115098232A (zh) 任务调度的方法、装置和设备
CN110955696B (zh) 数据读取方法、装置、设备和存储介质
CN109947559B (zh) 优化MapReduce计算的方法、装置、设备和计算机存储介质
CN113591031A (zh) 低功耗矩阵运算方法及装置
US11144428B2 (en) Efficient calculation of performance data for a computer
CN113760489B (zh) 一种资源配置方法和装置
CN117271011B (zh) 一种建筑信息模型数据的转换处理系统和方法
CN115470598B (zh) 基于多线程的三维轧件模型分块数据快速继承方法及系统
CN113448962B (zh) 数据库数据管理方法和装置
CN110879722B (zh) 生成逻辑示意图的方法及装置、计算机可存储介质
CN113362901B (zh) 快速进行全基因组注释区间比较的方法及系统
CN117608660A (zh) 指令调度方法、装置、介质和电子设备
JP4219706B2 (ja) システムlsi設計支援装置及び設計支援方法

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240529

Address after: 201207 Pudong New Area, Shanghai, China (Shanghai) free trade trial area, No. 3, 1 1, Fang Chun road.

Patentee after: Li Computing Technology (Shanghai) Co.,Ltd.

Country or region after: China

Address before: Room 2794, Hatching Building, No. 99 Tuanjie Road, Nanjing Area, China (Jiangsu) Pilot Free Trade Zone, Nanjing, Jiangsu, 210031

Patentee before: Nanjing Lisuan Technology Co.,Ltd.

Country or region before: China

Patentee before: Li Computing Technology (Shanghai) Co.,Ltd.