CN116166583A - 一种数据精度的转换方法、装置、dma控制器及介质 - Google Patents
一种数据精度的转换方法、装置、dma控制器及介质 Download PDFInfo
- Publication number
- CN116166583A CN116166583A CN202310458297.5A CN202310458297A CN116166583A CN 116166583 A CN116166583 A CN 116166583A CN 202310458297 A CN202310458297 A CN 202310458297A CN 116166583 A CN116166583 A CN 116166583A
- Authority
- CN
- China
- Prior art keywords
- data
- precision
- beat
- target
- read
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明公开了一种数据精度的转换方法、装置、DMA控制器及介质。由DMA控制器执行,该方法包括:获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。本发明的技术方案能够在DMA控制器内部完成数据的精度转换,提高了基于DMA控制器的数据处理效率。
Description
技术领域
本发明涉及数字集成电路技术领域,尤其涉及一种数据精度的转换方法、装置、DMA控制器及介质。
背景技术
随着数字集成电路设计的不断发展,芯片工艺水平得到显著提高,芯片内部结构的复杂度也随之提高。芯片的数据处理以及部件之间架构的设计非常重要,为了提升处理器的利用率,直接访问存储(Direct Memory Access,DMA)技术应运而生。
DMA控制器用于在外设与存储器之间以及存储器与存储器之间提供数据传输,可以在无需处理器操作的情况下通过DMA控制器快速移动数据。现有基于DMA控制器的数据传输过程是通过DMA控制器将一段数据从一个地址空间搬运到另外一个地址空间,在遇到需要对搬运数据进行精度转换的情况时,需要通过中央处理器(Central Processing Unit,CPU)对搬运数据进行精度转换。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:上述通过DMA控制器进行数据搬运的过程中,一旦遇到需要对搬运数据进行精度转换的情况,就需要处理器帮忙进行搬运数据的精度转换,增加了处理器数据处理的工作量,且占用了处理器的计算资源,降低了数据处理的效率。
发明内容
本发明提供了一种数据精度的转换方法、装置、DMA控制器及介质,能够在DMA内部完成数据的多类型精度转换,减轻了处理器的负担,提高了基于DMA控制器的数据处理效率和灵活性。
第一方面,本发明实施例提供了一种数据精度的转换方法,由DMA控制器执行,该方法包括:
获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;
在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;
在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
第二方面,本发明实施例还提供了一种数据精度的转换装置,由DMA控制器执行,该装置包括:
指令获取与识别模块,用于获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;
读数据节拍数计算模块,用于在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;
精度转换模块,用于在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
第三方面,本发明实施例还提供了一种DMA控制器,所述DMA控制器包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据精度的转换方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据精度的转换方法。
本发明实施例的技术方案,通过DMA控制器获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度,进而根据读取数据精度类型和写入数据精度类型判断数据搬运过程中是否需要进行数据精度转换,若需要进行数据精度转换,则根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小,在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。本发明实施例的技术方案提供了一种由DMA控制器实现数据精度转换的新架构,解决了传统DMA控制器内部不支持数据精度转换,需要依赖处理器对数据进行精度转换的问题,减轻了处理器的负担,提高了基于DMA控制器的数据处理效率和灵活性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种数据精度的转换方法的流程图。
图2是本发明实施例一所适用的一种数据精度转换的写数据块大小的效果示意图。
图3是根据本发明实施例二提供的一种数据精度的转换方法的流程图。
图4是本发明实施例二所适用的一种数据精度转换的写数据块大小的效果示意图。
图5是根据本发明实施例二提供的一种数据精度转换的功能实现示意图。
图6是本发明实施例二所适用的一种数据精度转换的写数据块大小的效果示意图。
图7是根据本发明实施例三提供的一种数据精度的转换装置的结构示意图。
图8是根据本发明实施例四提供的一种DMA控制器的结构示意图。
实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种数据精度的转换方法的流程图,本实施例可适用于由DMA控制器执行的,对搬运数据进行多类型精度转换的情况,该方法可以由数据精度的转换装置来执行,该数据精度的转换装置可以采用硬件和/或软件的形式实现,该数据精度的转换装置可配置于DMA控制器中。如图1所示,该方法包括:
S110、获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度。
其中,目标数据搬运指令可以理解为当前需要执行的数据搬运指令,可以包括源地址、目标地址、精度转换类型以及数据搬运长度等信息。
源地址为与该目标数据搬运指令匹配的待搬运数据在数据的读取方中的存储地址,目标地址为待搬运数据在数据的写入方中的存储地址,精度转换类型可以包括不进行精度转换或者具体的精度转换方式,该精度转换方式可以理解为将从读取方读取到的第一数据精度类型的数据,转换为写入方所需写入的第二数据精度类型。数据精度类型可以包括fp32(单精度浮点数)、fp16(半精度浮点数)以及bf16(一种较新的浮点数格式)等。相应的,精度转换类型可以为fp32转换为fp16,或者fp32转换为bf16等。数据搬运长度也即待搬运数据的数据长度,数据搬运长度的单位一般与数据量的单位相匹配,例如,MB或者KB等。
具体的,DMA控制器获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中通过关键字段识别的方式,获取精度转换类型、目标地址和数据搬运长度。
其中,精度转换类型可以通过在目标数据搬运指令中提取的编码字段的编码值确定,例如,如果该编码字段的字段值为00,则确定无需进行精度转换,如果该编码字段的编码值为01,则确定需要进行fp32转换为fp16的精度转换。
S120、在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小。
其中,数据搬运也即将一段数据从一个地址空间搬运到另一个地址空间。读数据节拍数可以理解为读取一段完整数据所需要的次数。读数据块大小可以理解为读取数据过程中,每一次读取操作能够读取到的数据块的大小。写数据块大小可以理解为写数据过程中,每一次写入操作能够写入到写入方的数据块的大小。
具体的,当根据识别到的精度转换类型确定需要进行数据精度类型转换时,DMA控制器根据精度转换类型首先确定出读取方数据精度类型和写入方数据精度类型,之后根据读取方数据精度类型、写入方数据精度类型、目标地址以及需要进行搬运的数据长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小。
需要说明的是,当根据精度转换类型确定无需在读取方和写入方之间进行数据精度类型的转换时,DMA控制器根据目标地址以及需要进行搬运的数据长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小。可以理解的是,此时的读数据块大小和写数据块大小相等。
S130、在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
其中,转换算法也即不同精度类型之间进行转换的算法,例如可以包括fp32转换为fp16、fp16转换为fp32、fp32转换为bf16和bf16转换为fp32等精度类型转换算法。源精度数据也即具有读取方数据精度类型的读取数据。目标精度数据也即具有写入方数据精度类型的写入数据。
示例性的,如果在一个读数据节拍下,需要DMA控制器在位宽为128B的前提下,实现fp16转换为fp32的数据精度类型转换,则可知当前读数据块大小为64B,源精度数据的数据精度类型为fp16,写数据块大小为128B,目标精度数据的数据精度类型为fp32。
图2为本发明实施例一适用的一种数据精度转换的写数据块大小的效果示意图。在一个具体的例子中,以在位宽为128B的前提下,实现fp16转换为fp32的数据精度类型转换为例,已知数据搬运长度为260B,如图2所示,阴影部分为无效数据长度,其余部分为有效地址(具体的无效数据长度和有效地址的确定方式将在后文进行详述,与目标地址关联),DMA控制器获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度装换类型为fp16转换为fp32,数据搬运长度260B,根据识别到的这些信息,计算得到数据搬运过程的读数据节拍数为3拍,以及与第一个读数据节拍对应的写数据块大小为128B和读数据块大小为64B,与第二个读数据节拍对应的写数据块大小为128B和读数据块大小为64B,与第三个读数据节拍对应的写数据块大小为4B和读数据块大小为2B。在每个读数据节拍下,按照与fp16转fp32匹配的转换算法,将读数据块大小的,数据精度类型为fp16的源数据转换为写数据块大小的,数据精度类型为fp32的目标精度数据。数据块在精度转换后扩宽,每次从读数据块读出的数据是进入写数据块的数据的二分之一。
上述示例不涉及具体的计算过程,仅为了示例读数据节拍、读数据块大小和写数据块大小等概念,具体的计算过程将在后文进行详述。
本发明实施例的技术方案,通过DMA控制器获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度,进而根据读取数据精度类型和写入数据精度类型判断数据搬运过程中是否需要进行数据精度转换,若需要进行数据精度转换,则根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小,在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。本发明实施例的技术方案提供了一种由DMA控制器实现数据精度转换的新架构,解决了传统DMA控制器内部不支持数据精度转换,需要依赖处理器对数据进行精度转换的问题,减轻了处理器的负担,提高了基于DMA控制器的数据处理效率和灵活性。
实施例二
图3为本发明实施例二提供的一种数据精度的转换方法的流程图,本实施例基于上述实施例进行进一步优化与扩展,给出了计算读数据节拍的多种具体可选的实现方式。如图3所示,该方法包括:
S210、获取当前待处理的目标数据搬运指令。
可选的,在获取当前待处理的目标数据搬运指令之后,还可以包括:在目标数据搬运指令中提取数据的读取方和写入方;从数据的读取方获取与目标数据搬运指令匹配的目标搬运数据,并将该目标搬运数据缓存至DMA内部的SRAM(静态随机存取存储器,StaticRandom Access Memory)中。
其中,目标搬运数据也即在当前DMA操作中需要从读取方搬运至写入方的数据。
具体的,在目标数据搬运指令中提取数据的读取方和写入方,得到读取方的地址和写入方的地址,根据读取方的地址从读取方获取与目标数据搬运指令匹配的目标搬运数据,并将该目标搬运数据缓存至DMA内部的SRAM中。
S220、在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度。
S230、根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,并根据数据搬运长度和起始节拍无效数据长度,计算数据总长度。
其中,标准数据位宽为DMA控制器的一项参数,也可以理解为数据传输位宽,也即DMA控制器进行数据读写时,单次所能读写的最大数据量。在现有技术的实现过程中,与DMA控制器相连的数据读取方和数据写入方在进行数据存储时,以DMA控制器的标准数据位宽为限制,划分出多个最小存储单元,也即需要以该最小存储单元为单位,进行数据写入操作。换句话说,DMA控制器每次写入数据量应为最小存储单元的整数倍。
换句话说,无效数据长度可以理解为在标准数据位宽大小的数据范围内不包含搬运数据或与搬运数据无关的其他数据的数据长度。起始节拍无效数据长度可以理解为在数据搬运过程中,第一次数据搬运的数据包内与搬运数据无关的数据所占长度。数据总长度可以理解为数据搬运的全部数据的总体数据长度,包括数据搬运长度和起始节拍无效数据长度。
可以理解的是,在进行基于DMA控制器的数据搬运时,起始节拍中可能不是从首地址开始存储数据的,因此需要引入无效数据长度的计算。
可选的,根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,可以包括:根据标准数据位宽以及目标地址,确定目标地址所属的标准存储区间的标准起始地址;根据目标地址与标准起始地址之间的地址差值,计算起始节拍无效数据长度。
其中,标准存储区间可以理解为存储器中任一最小存储单元所占用的存储区间地址范围。标准起始地址可以理解为存储器中任一最小存储单元的首地址。地址差值也即存储器中任一最小存储单元的首地址与目标地址之间的差值。
在一个具体的例子中,如果标准数据位宽为128B,则在与该DMA控制器相连的内主存储器中,按照[0,127B]、[127B,255B]、[255B,383B]、……的方式,划分出多个128B大小的最小存储单元。进而,在获取目标地址后,可以确定出该目标地址位于哪一个最小存储单元中,例如,最小存储单元X。当目标地址不属于该最小存储单元X的起始地址时,则确定从该起始地址到目标地址这部分地址位,无法真正的写入数据,那么与这部分地址位对应的数据量,即为无效数据长度。假设目标地址为250B,则可以确定目标搬运数据需要从[127B,255B]这个最小存储单元中,并从250B这个位置开始写入,则250B-127B=123B,即为无法写入任何数据的起始节拍无效数据长度。
在计算得到无效数据长度后,可以将数据搬运长度和起始节拍无效数据长度的总和,作为数据总长度。
S240、根据精度转换类型,计算每个读数据节拍下的标准写数据量。
其中,标准写数据量指的是根据标准数据位宽确定的单次写数据的数据长度。
在一个具体的例子中,如果精度转换类型为fp16转换为fp32,则可以得知,从读数据块读出的数据是进入写数据块的数据的二分之一。也就是说DMA控制器单次写入数据量大于单次读取数据量,此时,可以将标准写数据量设置为标准数据位宽。相类似的,如果精度转换类型为fp32转换为fp16,则可以得知,从读数据块读出的数据是进入写数据块的数据的二倍。也就是说DMA控制器单次写入数据量小于单次读取数据量,此时,可以将标准写数据量设置为标准数据位宽的一半,以保证单次读取数据量能够达到标准数据位宽。
具体的,DMA控制器根据源精度类型转换为目标精度类型的转换算法,计算每个读数据节拍下,根据标准数据位宽确定的写数据的数据长度。
S250、根据数据总长度、起始节拍无效数据长度以及标准写数据量,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的写数据块大小。
具体的,DMA控制器根据数据总长度和起始节拍无效数据长度,确定进行多少次数据读取操作(也即,读数据节拍数),才能将写出与该数据总长度匹配的写数据,并相应确定在每次数据读取操作下,分别可以写出多少数据量的写数据(也即写数据块大小)。
可选的,根据数据总长度、起始节拍无效数据长度以及标准写数据量,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的写数据块大小,可以包括:
计算标准写数据量减去起始节拍无效数据长度的结果,作为与首个读数据节拍对应的写数据块大小;计算数据总长度减去标准写数据量得到的剩余数据量,并检测剩余数据量是否能够整除标准写数据量;若是,则将剩余数据量除以标准写数据量得到的商值M加上首个读数据节拍的结果,作为读数据节拍数,并确定与非首位的M个读数据节拍分别对应的写数据块大小均为标准写数据量;若否,则计算剩余数据量除以标准写数据量得到的商值N以及余数X,并将N加上末位读数据节拍以及首个读数据节拍的结果,作为读数据节拍数;确定与非首末位的N个读数据节拍分别对应的写数据块大小均为标准写数据量,并确定与末位读数据节拍对应的写数据块大小为余数X。
图4为本发明实施例二适用的一种数据精度转换的写数据块大小的效果示意图。在一个具体的例子中,如图4所示,图中阴影部分为无效数据长度,以数据精度转换类型为fp16转换为fp32,标准数据位宽为128B为例,已知获取的需要搬运的数据总长度为390B,目标地址为N1。
DMA控制器首先根据上述已知条件,计算得到起始节拍无效数据长度为n,假设n小于64B,标准写数据量为128B。
相应的,可以计算标准写数据量128B减去起始节拍无效数据长度n的结果为128B-n,将128B-n作为与首个读数据节拍对应的写数据块大小;计算数据总长度390B+n减去标准写数据量128B得到的剩余数据量为262B+n,检测262B+n不能够整除128B,计算262B+n除以128B得到商值为2以及余数6B+n,并将商值2加上末位读数据节拍以及首个读数据节拍的结果4,作为读数据节拍数。确定与非首末位的2个读数据节拍分别对应的写数据块大小均为标准写数据量128B,并确定与末位读数据节拍对应的写数据块大小为余数6B+n。也即,在这个例子中,计算得出读数据节拍数为4,4个读数据节拍对应的写数据块大小分别为128B-n、128B、128B和6B+n。
S260、根据精度转换类型,以及与每个读数据节拍分别对应的写数据块大小,计算与每个读数据节拍分别对应的读数据块大小。
具体的,DMA控制器根据源数据精度类型转换为目标数据精度类型的转换算法,以及与每个读数据节拍分别对应的写数据块大小,计算与每个读数据节拍分别对应的读数据块大小。
续前例,如果精度转换类型为fp16转换为fp32,在4个读数据节拍对应的写数据块大小分别为128B-n、128B、128B和6B+n时,与4个读数据节拍对应的读数据块大小分别为64B-n/2、64B、64B和3B+n/2。
S270、在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
可选的,在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据,可以包括:在每个读数据节拍下,从SRAM存储的目标搬运数据中,获取与该读数据节拍匹配的读数据块大小的源精度数据;按照与精度转换类型匹配的转换算法,将源精度数据转换为写数据块大小的目标精度数据,并将目标精度数据写入至数据的写入方。
可选的,将目标精度数据写入至数据的写入方,可以包括:如果每个读数据节拍下转换的目标精度数据未达到标准数据位宽,则将多个读数据节拍下转换的各目标精度数据拼接为至少一个符合标准数据位宽的拼接结果数据;在每个写数据节拍下,依次将每个拼接结果数据写入至数据的写入方。
其中,拼接结果数据也即将多个目标精度数据拼接后得到的结果数据。写数据节拍可以理解为写入一段完整数据所需要的次数。
图5为本发明实施例二适用的一种数据精度转换的功能实现示意图。如图5所示,图中阴影部分为无效数据长度,示例性的,通过DMA控制器中的读数据处理模块读取到目标搬运数据后,将该目标搬运数据暂存至DMA内部的SRAM中,在每个读数据节拍下,从SRAM存储的目标搬运数据中,获取与该读数据节拍匹配的读数据块大小的源精度数据。经过精度转换模块,按照与精度转换类型匹配的转换算法,将源精度数据转换为写数据块大小的目标精度数据,并将目标精度数据写入至数据写出模块。
图6为本发明实施例二适用的一种数据精度转换的写数据块大小的效果示意图。在一个具体的例子中,如图6所示,图中阴影部分为无效数据长度,以数据精度转换类型为fp32转换为fp16,标准数据位宽为128B为例,已知获取的需要搬运的数据总长度为390B,目标地址为N2。
DMA控制器首先根据上述已知条件,计算得到起始节拍无效数据长度为n,假设n小于64B,标准写数据量为64B。
相应的,计算得出读数据节拍数为7,第一个读数据节拍对应的写数据块大小为64B-n,第七个读数据节拍对应的写数据块大小为6B+n,其余读数据节拍对应的写数据块大小均为64B。每个读数据节拍下转换的目标精度数据未达到128B,则将相邻的两个读数据节拍下转换的各目标精度数据拼接为一个符合标准数据位宽128B的拼接结果数据,在每个写数据节拍下,依次将每个拼接结果数据写入至数据的写入方。
在上述各实施例的基础上,在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度之后,还可以包括:在根据精度转换类型确定数据搬运过程无需进行数据精度转换时,根据目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数以及与每个读数据节拍分别对应的数据块搬运大小;在每个读数据节拍下,读取数据块搬运大小的读取方数据,并在每个写数据节拍下,将读取方数据写入至与目标数据搬运指令匹配的写入方。
在本实施例中,若读取方数据精度类型与写入方数据精度类型相同时,则无需进行数据精度转换,可以根据目标地址和数据搬运长度,计算数据搬运过程中将全部数据读取完成需要的读数据节拍数或读数据次数,以及与每个读数据节拍分别对应的数据块搬运大小。在每个读数据节拍下,从对应的读取方地址读取数据块搬运大小的读取方数据,并在每个写数据节拍下,将读取方数据写入至与目标数据搬运指令匹配的写入方地址。
示例性的,如果读取方和写入方数据精度类型均为fp16,则无需进行精度转换。已知标准数据位宽为128B,目标数据搬运指令中识别的数据搬运长度为390B,目标地址为N3,DMA控制器根据上述已知条件,计算得到起始节拍无效数据长度为0,读数据节拍为4拍,以及与每个读数据节拍分别对应的数据块搬运大小为128B、128B、128B和6B。进一步的,在第一个读数据节拍下,读取128B的读取方数据,并在第一个写数据节拍下,将读取方数据128B写入至与目标数据搬运指令匹配的写入方;在第二个读数据节拍下,读取128B的读取方数据,并在第二个写数据节拍下,将读取方数据128B写入至与目标数据搬运指令匹配的写入方;在第三个读数据节拍下,读取128B的读取方数据,并在第三个写数据节拍下,将读取方数据128B写入至与目标数据搬运指令匹配的写入方;在第四个读数据节拍下,读取6B的读取方数据,并在第四个写数据节拍下,将读取方数据6B写入至与目标数据搬运指令匹配的写入方。
本发明实施例的技术方案,通过根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,并根据数据搬运长度和起始节拍无效数据长度,计算数据总长度,根据精度转换类型,计算每个读数据节拍下的标准写数据量。进而根据计算得到的数据总长度、起始节拍无效数据长度以及标准写数据量,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的写数据块大小。从而根据精度转换类型,以及与每个读数据节拍分别对应的写数据块大小,计算与每个读数据节拍分别对应的读数据块大小。通过采用上述技术方案,充分考虑了无效数据长度对计算数据搬运过程的读数据节拍数以及每个读数据节拍下的标准写数据量的影响,提高了在DMA数据精度转换场景中进行数据处理的准确性。
实施例三
图7为本发明实施例三提供的一种数据精度的转换装置的结构示意图。本实施例可适用于基于DMA对数据进行多类型精度转换的场景,本实施例对此不作具体限定。该数据精度的转换装置由DMA控制器执行,如图7所示,该数据精度的转换装置包括:指令获取与识别模块310,读数据节拍数计算模块320和精度转换模块330。
其中,指令获取与识别模块310,用于获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;读数据节拍数计算模块320,用于在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;精度转换模块330,用于在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
本发明实施例的技术方案,通过DMA控制器获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度,进而根据读取数据精度类型和写入数据精度类型判断数据搬运过程中是否需要进行数据精度转换,若需要进行数据精度转换,则根据精度转换类型,目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小,在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。本发明实施例的技术方案提供了一种由DMA控制器实现数据精度转换的新架构,解决了传统DMA控制器内部不支持数据精度转换,需要依赖处理器对数据进行精度转换的问题,减轻了处理器的负担,提高了基于DMA控制器的数据处理效率和灵活性。
可选的,读数据节拍数计算模块320,具体包括:
数据总长度计算单元,用于根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,并根据数据搬运长度和起始节拍无效数据长度,计算数据总长度;标准写数据量计算单元,用于根据精度转换类型,计算每个读数据节拍下的标准写数据量;写数据块大小计算模块,用于根据数据总长度、起始节拍无效数据长度以及标准写数据量,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的写数据块大小;读数据块大小计算模块,用于根据精度转换类型,以及与每个读数据节拍分别对应的写数据块大小,计算与每个读数据节拍分别对应的读数据块大小。
可选的,数据总长度计算单元,具体用于:根据标准数据位宽以及目标地址,确定目标地址所属的标准存储区间的标准起始地址;根据目标地址与标准起始地址之间的地址差值,计算起始节拍无效数据长度。
可选的,写数据块大小计算模块,具体用于:计算标准写数据量减去起始节拍无效数据长度的结果,作为与首个读数据节拍对应的写数据块大小;计算数据总长度减去标准写数据量得到的剩余数据量,并检测剩余数据量是否能够整除标准写数据量;若是,则将剩余数据量除以标准写数据量得到的商值M加上首个读数据节拍的结果,作为读数据节拍数,并确定与非首位的M个读数据节拍分别对应的写数据块大小均为标准写数据量;若否,则计算剩余数据量除以标准写数据量得到的商值N以及余数X,并将N加上末位读数据节拍以及首个读数据节拍的结果,作为读数据节拍数;确定与非首末位的N个读数据节拍分别对应的写数据块大小均为标准写数据量,并确定与末位读数据节拍对应的写数据块大小为余数X。
可选的,指令获取与识别模块310,还包括:在获取当前待处理的目标数据搬运指令之后,在目标数据搬运指令中提取数据的读取方和写入方;从数据的读取方获取与目标数据搬运指令匹配的目标搬运数据,并将该目标搬运数据缓存至DMA内部的SRAM中。
可选的,精度转换模块330,具体包括:
源精度数据获取单元,用于在每个读数据节拍下,从SRAM存储的目标搬运数据中,获取与该读数据节拍匹配的读数据块大小的源精度数据;目标精度数据写入单元,用于按照与精度转换类型匹配的转换算法,将源精度数据转换为写数据块大小的目标精度数据,并将目标精度数据写入至数据的写入方。
可选的,目标精度数据写入单元,具体用于:如果每个读数据节拍下转换的目标精度数据未达到标准数据位宽,则将多个读数据节拍下转换的各目标精度数据拼接为至少一个符合标准数据位宽的拼接结果数据;在每个写数据节拍下,依次将每个拼接结果数据写入至数据的写入方。
可选的,指令获取与识别模块310,还包括:在目标数据搬运指令中识别精度转换类型,目标地址和数据搬运长度之后,在根据精度转换类型确定数据搬运过程无需进行数据精度转换时,根据目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数以及与每个读数据节拍分别对应的数据块搬运大小;在每个读数据节拍下,读取数据块搬运大小的读取方数据,并在每个写数据节拍下,将读取方数据写入至与目标数据搬运指令匹配的写入方。
本发明实施例所提供的数据精度的转换装置可执行本发明任意实施例所提供的数据精度的转换方法,具备执行方法相应的功能模块和有益效果。
实施例四
图8为本发明实施例四提供的一种DMA控制器的结构示意图。DMA控制器10可为电子设备,旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图8所示,DMA控制器10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储DMA控制器10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
DMA控制器10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许DMA控制器10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如本发明各实施例所述的数据精度的转换方法。
也即,获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
在一些实施例中,数据精度的转换方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到DMA控制器10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的数据精度的转换方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行如本发明各实施例所述的数据精度的转换方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (8)
1.一种数据精度的转换方法,由直接访问存储DMA控制器执行,其特征在于,该方法包括:
获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;
在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;
在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据;
其中,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小,包括:
根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,并根据数据搬运长度和起始节拍无效数据长度,计算数据总长度;
根据精度转换类型,计算每个读数据节拍下的标准写数据量;
根据数据总长度、起始节拍无效数据长度以及标准写数据量,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的写数据块大小;
根据精度转换类型,以及与每个读数据节拍分别对应的写数据块大小,计算与每个读数据节拍分别对应的读数据块大小;
计算标准写数据量减去起始节拍无效数据长度的结果,作为与首个读数据节拍对应的写数据块大小;
计算数据总长度减去标准写数据量得到的剩余数据量,并检测所述剩余数据量是否能够整除标准写数据量;
若是,则将剩余数据量除以标准写数据量得到的商值M加上首个读数据节拍的结果,作为读数据节拍数,并确定与非首位的M个读数据节拍分别对应的写数据块大小均为标准写数据量;
若否,则计算剩余数据量除以标准写数据量得到的商值N以及余数X,并将N加上末位读数据节拍以及首个读数据节拍的结果,作为读数据节拍数;
确定与非首末位的N个读数据节拍分别对应的写数据块大小均为标准写数据量,并确定与末位读数据节拍对应的写数据块大小为余数X。
2.根据权利要求1所述的方法,其特征在于,根据标准数据位宽以及目标地址,计算起始节拍无效数据长度,包括:
根据标准数据位宽以及目标地址,确定目标地址所属的标准存储区间的标准起始地址;
根据所述目标地址与标准起始地址之间的地址差值,计算起始节拍无效数据长度。
3.根据权利要求1所述的方法,其特征在于,在获取当前待处理的目标数据搬运指令之后,还包括:
在目标数据搬运指令中提取数据的读取方和写入方;
从数据的读取方获取与目标数据搬运指令匹配的目标搬运数据,并将该目标搬运数据缓存至DMA内部的静态随机存取存储器SRAM中;
在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据,包括:
在每个读数据节拍下,从所述SRAM存储的目标搬运数据中,获取与该读数据节拍匹配的读数据块大小的源精度数据;
按照与精度转换类型匹配的转换算法,将源精度数据转换为写数据块大小的目标精度数据,并将目标精度数据写入至所述数据的写入方。
4.根据权利要求3所述的方法,其特征在于,将目标精度数据写入至所述数据的写入方,包括:
如果每个读数据节拍下转换的目标精度数据未达到标准数据位宽,则将多个读数据节拍下转换的各目标精度数据拼接为至少一个符合标准数据位宽的拼接结果数据;
在每个写数据节拍下,依次将每个拼接结果数据写入至数据的写入方。
5.根据权利要求1-4任一项所述的方法,其特征在于,在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度之后,还包括:
在根据精度转换类型确定数据搬运过程无需进行数据精度转换时,根据目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数以及与每个读数据节拍分别对应的数据块搬运大小;
在每个读数据节拍下,读取数据块搬运大小的读取方数据,并在每个写数据节拍下,将所述读取方数据写入至与目标数据搬运指令匹配的写入方。
6.一种数据精度的转换装置,由DMA控制器执行,其特征在于,该装置包括:
指令获取与识别模块,用于获取当前待处理的目标数据搬运指令,并在目标数据搬运指令中识别精度转换类型、目标地址和数据搬运长度;
读数据节拍数计算模块,用于在根据精度转换类型确定数据搬运过程需要进行数据精度转换时,根据精度转换类型、目标地址和数据搬运长度,计算数据搬运过程的读数据节拍数,以及与每个读数据节拍分别对应的读数据块大小和写数据块大小;
精度转换模块,用于在每个读数据节拍下,按照与精度转换类型匹配的转换算法,将读数据块大小的源精度数据转换为写数据块大小的目标精度数据。
7.一种DMA控制器,其特征在于,所述DMA控制器包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的数据精度的转换方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的数据精度的转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310458297.5A CN116166583B (zh) | 2023-04-26 | 2023-04-26 | 一种数据精度的转换方法、装置、dma控制器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310458297.5A CN116166583B (zh) | 2023-04-26 | 2023-04-26 | 一种数据精度的转换方法、装置、dma控制器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116166583A true CN116166583A (zh) | 2023-05-26 |
CN116166583B CN116166583B (zh) | 2023-07-11 |
Family
ID=86411778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310458297.5A Active CN116166583B (zh) | 2023-04-26 | 2023-04-26 | 一种数据精度的转换方法、装置、dma控制器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116166583B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483285A (zh) * | 2023-06-14 | 2023-07-25 | 北京象帝先计算技术有限公司 | 纹理数据搬运方法、搬运装置、电子组件及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992542A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 一种数据搬运方法、相关产品及计算机存储介质 |
CN109992541A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 一种数据搬运方法、相关产品及计算机存储介质 |
CN110018851A (zh) * | 2019-04-01 | 2019-07-16 | 北京中科寒武纪科技有限公司 | 数据处理方法、相关设备及计算机可读介质 |
CN114756490A (zh) * | 2022-03-21 | 2022-07-15 | 奥比中光科技集团股份有限公司 | 一种dma数据搬运方法及装置 |
-
2023
- 2023-04-26 CN CN202310458297.5A patent/CN116166583B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992542A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 一种数据搬运方法、相关产品及计算机存储介质 |
CN109992541A (zh) * | 2017-12-29 | 2019-07-09 | 深圳云天励飞技术有限公司 | 一种数据搬运方法、相关产品及计算机存储介质 |
CN110018851A (zh) * | 2019-04-01 | 2019-07-16 | 北京中科寒武纪科技有限公司 | 数据处理方法、相关设备及计算机可读介质 |
CN114756490A (zh) * | 2022-03-21 | 2022-07-15 | 奥比中光科技集团股份有限公司 | 一种dma数据搬运方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483285A (zh) * | 2023-06-14 | 2023-07-25 | 北京象帝先计算技术有限公司 | 纹理数据搬运方法、搬运装置、电子组件及电子设备 |
CN116483285B (zh) * | 2023-06-14 | 2023-11-17 | 北京象帝先计算技术有限公司 | 纹理数据搬运方法、搬运装置、电子组件及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116166583B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116166583B (zh) | 一种数据精度的转换方法、装置、dma控制器及介质 | |
CN116662038B (zh) | 基于共享内存的工业信息检测方法、装置、设备及介质 | |
CN112818387A (zh) | 模型参数调整的方法、设备、存储介质及程序产品 | |
CN115955518A (zh) | 主从设备间通讯的通讯转换方法、装置及存储介质 | |
CN115099175A (zh) | 一种时序网表的获取方法、装置、电子设备和存储介质 | |
CN117236236B (zh) | 一种芯片设计数据管理方法、装置、电子设备及存储介质 | |
CN116467235B (zh) | 一种基于dma的数据处理方法、装置、电子设备及介质 | |
CN116243978A (zh) | 分布式训练中的数据规约方法、装置、介质和训练系统 | |
CN115617800A (zh) | 数据读取方法、装置、电子设备及存储介质 | |
CN115904240A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN114564149B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN115454344A (zh) | 一种数据存储方法、装置、电子设备及存储介质 | |
CN114662688A (zh) | 模型的训练方法、数据处理方法、装置、电子设备及介质 | |
CN116107763B (zh) | 一种数据发送方法、装置、设备及存储介质 | |
CN113326890B (zh) | 标注数据处理方法、相关装置及计算机程序产品 | |
CN115292662B (zh) | 一种卷积加速运算方法、装置、电子设备及存储介质 | |
CN117216145A (zh) | 数据存储方法、装置、设备及介质 | |
CN114064301A (zh) | 单写入者多读取者的数据存储和读取方法、装置及设备 | |
CN118860949A (zh) | 基于推理embedding加速芯片的数据搬运方法 | |
CN115495312A (zh) | 业务请求处理方法和装置 | |
CN118535643A (zh) | 一种数据库同步方法、装置、电子设备及存储介质 | |
CN114327025A (zh) | Cpu能效模型优化方法及装置 | |
CN117687992A (zh) | 一种数据迁移方法、装置、设备及存储介质 | |
CN116225979A (zh) | 数据处理单元、数据处理方法以及电子设备 | |
CN118673212A (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 |