CN117312330B - 基于便签式存储的向量数据聚集方法、装置及计算机设备 - Google Patents
基于便签式存储的向量数据聚集方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN117312330B CN117312330B CN202311614079.2A CN202311614079A CN117312330B CN 117312330 B CN117312330 B CN 117312330B CN 202311614079 A CN202311614079 A CN 202311614079A CN 117312330 B CN117312330 B CN 117312330B
- Authority
- CN
- China
- Prior art keywords
- target data
- address
- index
- memory
- chip
- 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
Links
- 230000002776 aggregation Effects 0.000 title claims abstract description 92
- 238000004220 aggregation Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 166
- 238000004590 computer program Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2237—Vectors, bitmaps or matrices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- 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)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Complex Calculations (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及基于便签式存储的向量数据聚集方法、装置及计算机设备。所述方法包括:读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址。计算目标数据在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。采用本方法能够使得向量计算与向量数据聚集操作并发进行,提高向量数据由片上内存到向量寄存器的聚集效率以及应用程序的性能。
Description
技术领域
本申请涉及高性能内存访问技术领域,特别是涉及基于便签式存储的向量数据聚集方法、装置及计算机设备。
背景技术
为了应对现代处理器计算能力的增长需求以及功耗约束上的限制,目前的多核或众核处理器使用向量单元(Vector Units)技术和便签式存储(Scratch-pad Memory,SPM)技术。一方面,向量单元使用一条向量指令开启一组数据元素的操作,在使用向量单元进行计算前,需要将所需数据由位于片外的内存加载至靠近计算单元的向量寄存器,充分地利用向量单元能够成倍地增加应用程序的性能。另一方面,便签式存储是位于处理器芯片上的能够快速访问的存储体。实际应用程序经常需要将分散在内存中不同位置的数据元素加载到一个向量寄存器中,即向量数据聚集(Vector Data Gather)操作。在传统的计算机***中,向量数据聚集操作通常需要使用循环来遍历数据,逐个进行计算。由于计算量较大,这种方法的效率较低,难以满足对大规模数据的高效处理需求。例如,稀疏矩阵的非零元素是零散分布的,传统的向量数据聚集方法需要逐个地访问存储器中的数据,经常需要从不同的内存位置读取元素至同一个向量寄存器中,对于大批量数据的聚集处理和访问而言,低效率的同时其并行性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高向量数据聚集处理效率的基于便签式存储的向量数据聚集方法、装置及计算机设备。
基于便签式存储的向量数据聚集方法,应用于计算机***中,所述计算机***包括:执行单元、向量寄存器、便签式存储器以及片外存储器。
所述方法包括:
读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址。
计算目标数据在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。
在其中一个实施例中,目标数据包括:目标数据元素、目标数据的索引以及目标数据的基地址。
在其中一个实施例中,还包括:应用程序读取片外存储器中离散分布的多个目标数据,执行单元接收到计算机***的聚集指令执行提取操作,将目标数据的索引从片外存储器进行提取,并按序写入便签式存储器,得到第一索引基地址。
在其中一个实施例中,还包括:将目标数据的基地址与目标数据元素在片外存储器中的每个索进行逐一相加运算,得到目标数据的片外存储地址。
在其中一个实施例中,还包括:通过执行单元从片外存储器获取片外存储地址,并将偏移索引写入便签式存储器,得到目标数据的便签式存储地址。根据便签式存储地址按序存储目标数据元素,得到聚集参数包。聚集参数包包括:便签式存储地址、片外存储地址以及目标数据元素。
在其中一个实施例中,便签式存储器以1024位为数据单元搬运聚集参数包至向量寄存器。
基于便签式存储的向量数据聚集装置,所述装置包括:
第一索引基地址获取模块,用于读取片外存储器的目标数据的索引,通过执行单元将索引写入便签式存储器,得到第一索引基地址。
源地址获取模块,用于计算目标数据元素在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
聚集参数包获取模块,用于通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
聚集模块,用于根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至所述向量寄存器。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址。
计算目标数据在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。
上述基于便签式存储的向量数据聚集方法、装置及计算机设备,通过使用便签式存储器存储目标数据的索引和第一索引基地址,便签式存储器是用于存储目标数据的索引和第一索引基地址的存储器,它可以提高数据访问的效率,当需要访问某个目标数据时,只需要通过该目标数据的索引在便签式存储器中查找其对应的基地址,然后通过源地址计算得到其在片外存储器中的实际地址,从而直接访问该目标数据,对于大批量数据访问而言,有效的提高了访问和处理效率及并行性。
附图说明
图1为一个实施例中基于便签式存储的向量数据聚集方法的应用场景图;
图2为一个实施例中基于便签式存储的向量数据聚集方法的流程示意图;
图3为一个实施例中向量数据类型示意图,其中,图3(a)为单字向量数据,图3(b)为半字向量数据;
图4为一个实施例中基于便签式存储的向量数据聚集装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于便签式存储的向量数据聚集方法,可以应用于如图1所示的计算机***中。该***包括向量处理器、片外存储器和数据总线等构成,其中,向量处理器包括向量控制寄存器、向量执行单元、向量寄存器文件和便签式存储器等构成。
在一个实施例中,如图2所示,提供了基于便签式存储的向量数据聚集方法,以该方法应用于图1中的***为例进行说明,包括以下步骤:
步骤202,读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址。
执行单元根据计算机处理器接收到的操作指令执行指令操作。指令操作包括:写入、读取、存储、加载以及搬运等。目标数据包括:数据基地址与数据基地址对应的索引地址。
具体的,执行单元执行接收到的计算机聚集指令,调用DMA(Direct MemoryAccess)部件读取片外存储器中离散分布的多个目标数据的索引,并提取到便签式存储器,将多个目标数据的索引按顺序写入便签式存储器,得到多个连续排列的第一索引地址。
步骤204,计算目标数据在片外存储器的地址,得到片外存储地址。
具体的,计算片外存储器中每个目标数据的基地址在片外存储器中的偏移索引,得到所有目标数据元素的片外存储地址,将片外存储器中目标数据的片外存储基地址(src)与目标数据元素位于片外存储器中的每个索引进行逐一相加运算,得到每个目标数据元素的片外存储地址,其中,片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
步骤206,通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
具体的,通过执行单元接收到的计算机***的提取指令后,用DMA(Direct MemoryAccess)部件执行提取操作,从片外存储器获取片外存储地址,并将偏移索引写入便签式存储器,得到目标数据的便签式存储地址。根据便签式存储地址以连续的方式按序存储目标数据元素,得到聚集参数包。聚集参数包包括:便签式存储地址、片外存储地址和目标数据元素。
步骤208,根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。
值得说明的是,执行单元执行接收到的计算机聚集指令,加载便签式存储器的聚集参数包执行搬运操作,将便签式存储器的聚集参数包搬运至目的向量寄存器(dst_vr)。
上述基于便签式存储的向量数据聚集方法中,上述基于便签式存储的向量数据聚集方法、装置及计算机设备,通过使用便签式存储器存储目标数据的索引和第一索引基地址,便签式存储器是用于存储目标数据的索引和第一索引基地址的存储器,它可以提高数据访问的效率,当需要访问某个目标数据时,只需要通过该目标数据的索引在便签式存储器中查找其对应的基地址,然后通过源地址计算得到其在片外存储器中的实际地址,从而直接访问该目标数据,对于大批量数据访问而言,有效的提高了访问和处理效率及并行性。
在其中一个实施例中,目标数据包括:目标数据元素、目标数据的索引以及目标数据的基地址。
在其中一个实施例中,应用程序读取片外存储器中离散分布的多个目标数据,执行单元接收到计算机***的聚集指令执行提取操作,将目标数据的索引从片外存储器进行提取,并按序写入便签式存储器,得到第一索引基地址。
值得说明的是,通过将目标数据的索引从片外存储器中提取出来,并按序写入便签式存储器中,可以得到第一索引基地址。在进行后续的向量数据聚集操作时,可以直接通过索引和第一索引基地址来计算目标数据的实际地址,从而直接访问片外存储器中的数据,可以避免频繁地访问片外存储器,减少了数据访问的时间和功耗,提高了数据访问的效率。另外,将提取出来的目标数据存储到向量寄存器中,可以实现高效的向量数据聚集。向量寄存器中可以同时存储多个数据,支持并行操作,可以提高计算效率。同时,由于数据访问的效率也得到了提高,可以进一步降低计算的延迟和功耗,进一步提高计算效率。
在其中一个实施例中,将目标数据的基地址与目标数据元素在片外存储器中的每个索进行逐一相加运算,得到目标数据的片外存储地址。
值得说明的是,通过计算每个目标数据在片外存储器中的偏移索引,可以得到目标数据的片外存储地址。通过根据偏移索引和目标数据的基地址进行加和,可以得到目标数据的片外存储地址。这样就不需要每次访问目标数据元素时都要访问片外存储器一次,而是可以通过计算得到目标数据的片外存储地址,从而直接访问目标数据元素。这种方式可以减少片外存储器的访问次数,从而提高访问速度和降低功耗。由此可见,通过将目标数据的片外存储地址计算出来,并存储到向量寄存器中,可以实现高效的向量数据聚集。
在其中一个实施例中,通过执行单元从片外存储器获取片外存储地址,并将偏移索引写入便签式存储器,得到目标数据的便签式存储地址。根据便签式存储地址按序存储目标数据元素,得到聚集参数包。聚集参数包包括:便签式存储地址、片外存储地址以及目标数据元素。
值得说明的是,通过将目标数据的片外存储地址从片外存储器提取出来,可以减少存储器的访问次数。在得到目标数据的便签式存储地址之后,将目标数据元素按序存储到便签式存储器中,可以利用局部性原理,将相邻的数据存储在相邻的存储单元中,从而提高存储器的访问效率,减少存储器的访问延迟和功耗。由此可见,通过将便签式存储地址、片外存储地址和目标数据元素存储到聚集参数包中,使得目标数据元素在各个内存之间的检索、调用和聚集更加畅通和高效,由此可以实现高效的向量数据聚集。向量寄存器中可以同时存储多个数据,支持并行操作,可以提高计算效率。同时,由于数据访问的效率得到了提高,可以进一步降低计算的延迟和功耗,进一步提高计算效率,从而提高整个计算***的性能。
在其中一个实施例中,便签式存储器以1024位为数据单元搬运聚集参数包至向量寄存器。
值得说明的是,如图3所示,向量数据类型可以是16个单字向量数据和32个半字向量数据,其中图3(a)为16个单字向量数据,每个单字向量数据占64位宽度,图3(b)为32个半字向量数据,每个半字向量数据占32位宽度。向量寄存器有1024位宽度,可以存放16个单字向量数据或者32个半字向量数据,因此便签式存储器以1024位为数据单元搬运聚集参数至向量寄存器。由于向量寄存器的高速缓存比片外存储器的访问速度快得多,因此将聚集参数包直接搬运至向量寄存器中,能够极大地减少数据的访问延迟和内存带宽消耗,从而提高聚集操作的效率和性能。同时,向量寄存器支持向量化指令,向量执行单元能够并行地执行多个相同或类似的操作,也能够进一步提高聚集操作的效率。
应该理解的是,虽然图1-图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了基于便签式存储的向量数据聚集装置,包括:第一索引基地址获取模块402、源地址获取模块404、聚集参数包获取模块406和聚集模块408,其中:
第一索引基地址获取模块402,用于读取片外存储器的目标数据的索引,通过执行单元将索引写入便签式存储器,得到第一索引基地址。
源地址获取模块404,用于计算目标数据元素在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
聚集参数包获取模块406,用于通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
聚集模块408,用于根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。
关于基于便签式存储的向量数据聚集装置的具体限定可以参见上文中对于基于便签式存储的向量数据聚集方法的限定,在此不再赘述。上述基于便签式存储的向量数据聚集装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于便签式存储的向量数据聚集方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4-图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址。
计算目标数据元素在片外存储器的地址,得到片外存储地址。片外存储地址包括:目标数据的基地址和目标数据的偏移索引。
通过执行单元获取片外存储地址,并写入便签式存储器,得到聚集参数包。
根据偏移索引与第一索引基地址按序存储聚集参数包,将聚集参数包搬运至向量寄存器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:应用程序读取片外存储器中离散分布的多个目标数据,执行单元接收到计算机***的聚集指令执行提取操作,将目标数据的索引从片外存储器进行提取,并按序写入便签式存储器,得到第一索引基地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将目标数据的基地址与目标数据元素在片外存储器中的每个索进行逐一相加运算,得到目标数据的片外存储器地址。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过执行单元从片外存储器获取片外存储地址,并将偏移索引写入便签式存储器,得到目标数据的便签式存储地址。根据便签式存储地址按序存储目标数据元素,得到聚集参数包。聚集参数包包括:便签式存储地址、片外存储地址以及目标数据元素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (6)
1.基于便签式存储的向量数据聚集方法,其特征在于,应用于计算机***中,所述计算机***包括:执行单元、向量寄存器、便签式存储器以及片外存储器;
所述方法包括:
读取所述片外存储器的目标数据的索引,通过所述执行单元将所述索引写入便签式存储器,得到第一索引基地址;
计算目标数据在所述片外存储器的地址,得到片外存储地址;所述片外存储地址包括:所述目标数据的基地址和所述目标数据的偏移索引;
将所述目标数据的基地址与目标数据元素在所述片外存储器中的每个索引进行逐一相加运算,得到所述目标数据的片外存储器地址;
通过所述执行单元获取所述片外存储地址,并写入所述便签式存储器,得到聚集参数包;
通过所述执行单元从所述片外存储器获取所述片外存储地址,并将所述偏移索引写入所述便签式存储器,得到所述目标数据的便签式存储地址;
根据所述便签式存储地址按序存储所述目标数据元素,得到聚集参数包;所述聚集参数包包括:所述便签式存储地址、所述片外存储地址以及所述目标数据元素;
根据所述偏移索引与所述第一索引基地址按序存储所述聚集参数包,将所述聚集参数包搬运至所述向量寄存器。
2.根据权利要求1所述的方法,其特征在于,目标数据包括:目标数据元素、所述目标数据的索引以及所述目标数据的基地址。
3.根据权利要求2所述的方法,其特征在于,读取所述片外存储器的目标数据的索引,通过所述执行单元将所述索引写入便签式存储器,得到第一索引基地址,包括:
应用程序读取片外存储器中离散分布的多个目标数据,所述执行单元接收到计算机***的聚集指令执行提取操作,将所述目标数据的索引从所述片外存储器进行提取,并按序写入便签式存储器,得到第一索引基地址。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述便签式存储器以1024位为数据单元搬运所述聚集参数包至所述向量寄存器。
5.基于便签式存储的向量数据聚集装置,其特征在于,所述装置包括:
第一索引基地址获取模块,用于读取片外存储器的目标数据的索引,通过执行单元将所述索引写入便签式存储器,得到第一索引基地址;
源地址获取模块,用于计算目标数据在所述片外存储器的地址,得到片外存储地址;所述片外存储地址包括:所述目标数据的基地址和所述目标数据的偏移索引;将所述目标数据的基地址与目标数据元素在所述片外存储器中的每个索引进行逐一相加运算,得到所述目标数据的片外存储器地址;
聚集参数包获取模块,用于通过所述执行单元获取所述片外存储地址,并写入所述便签式存储器,得到聚集参数包;
通过所述执行单元从所述片外存储器获取所述片外存储地址,并将所述偏移索引写入所述便签式存储器,得到所述目标数据的便签式存储地址;
根据所述便签式存储地址按序存储所述目标数据元素,得到聚集参数包;所述聚集参数包包括:所述便签式存储地址、所述片外存储地址以及所述目标数据元素;
聚集模块,用于根据所述偏移索引与所述第一索引基地址按序存储所述聚集参数包,将所述聚集参数包搬运至向量寄存器。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311614079.2A CN117312330B (zh) | 2023-11-29 | 2023-11-29 | 基于便签式存储的向量数据聚集方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311614079.2A CN117312330B (zh) | 2023-11-29 | 2023-11-29 | 基于便签式存储的向量数据聚集方法、装置及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312330A CN117312330A (zh) | 2023-12-29 |
CN117312330B true CN117312330B (zh) | 2024-02-09 |
Family
ID=89281542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311614079.2A Active CN117312330B (zh) | 2023-11-29 | 2023-11-29 | 基于便签式存储的向量数据聚集方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312330B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117312182B (zh) * | 2023-11-29 | 2024-02-20 | 中国人民解放军国防科技大学 | 基于便签式存储的向量数据分散方法、装置及计算机设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1528062A (en) * | 1975-06-19 | 1978-10-11 | Honeywell Inf Systems | Data processing systems |
US4426684A (en) * | 1979-07-09 | 1984-01-17 | Etablissement Public De Diffusion Dit "Telediffusion De France" | Scratch pad memory for cassette of magnetic tape recording |
US5966734A (en) * | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
CN101739358A (zh) * | 2009-12-21 | 2010-06-16 | 东南大学 | 利用虚存机制对片上异构存储资源动态分配的方法 |
KR20110007360A (ko) * | 2009-07-16 | 2011-01-24 | 삼성전자주식회사 | 스크래치 패드 메모리 관리 장치 및 방법 |
CN102375800A (zh) * | 2010-08-11 | 2012-03-14 | 普莱姆森斯有限公司 | 用于机器视觉算法的多处理器片上*** |
CN103150265A (zh) * | 2013-02-04 | 2013-06-12 | 山东大学 | 面向嵌入式片上异构存储器的细粒度数据分配方法 |
CN108292232A (zh) * | 2015-12-21 | 2018-07-17 | 英特尔公司 | 用于加载索引和分散操作的指令和逻辑 |
CN110941448A (zh) * | 2018-09-24 | 2020-03-31 | 英特尔公司 | 用于片聚集和片分散的装置和方法 |
CN112130848A (zh) * | 2020-09-24 | 2020-12-25 | 中国科学院计算技术研究所 | 一种面向便笺式存储器的带宽感知循环分块优化技术 |
CN115630013A (zh) * | 2022-10-31 | 2023-01-20 | 上海交通大学 | 基于空间可重构阵列的便笺式缓存架构构建方法及*** |
CN115729845A (zh) * | 2021-08-30 | 2023-03-03 | 华为技术有限公司 | 数据存储装置和数据处理方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363459B2 (en) * | 2002-10-31 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | System and method of optimizing memory usage with data lifetimes |
JP3659252B2 (ja) * | 2003-03-28 | 2005-06-15 | セイコーエプソン株式会社 | ベクトルデータのアドレス参照方法およびベクトルプロセッサ |
CN105608050B (zh) * | 2015-12-31 | 2019-02-01 | 华为技术有限公司 | 数据存储方法及*** |
US10402425B2 (en) * | 2016-03-18 | 2019-09-03 | Oracle International Corporation | Tuple encoding aware direct memory access engine for scratchpad enabled multi-core processors |
KR102620843B1 (ko) * | 2021-11-22 | 2024-01-03 | 리벨리온 주식회사 | 재구성가능 온 칩 메모리 뱅크, 재구성가능 온 칩 메모리, 이를 탑재한 시스템 온 칩 및 재구성가능 온 칩 메모리 사용 방법 |
-
2023
- 2023-11-29 CN CN202311614079.2A patent/CN117312330B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1528062A (en) * | 1975-06-19 | 1978-10-11 | Honeywell Inf Systems | Data processing systems |
US4426684A (en) * | 1979-07-09 | 1984-01-17 | Etablissement Public De Diffusion Dit "Telediffusion De France" | Scratch pad memory for cassette of magnetic tape recording |
US5966734A (en) * | 1996-10-18 | 1999-10-12 | Samsung Electronics Co., Ltd. | Resizable and relocatable memory scratch pad as a cache slice |
KR20110007360A (ko) * | 2009-07-16 | 2011-01-24 | 삼성전자주식회사 | 스크래치 패드 메모리 관리 장치 및 방법 |
CN101739358A (zh) * | 2009-12-21 | 2010-06-16 | 东南大学 | 利用虚存机制对片上异构存储资源动态分配的方法 |
CN102375800A (zh) * | 2010-08-11 | 2012-03-14 | 普莱姆森斯有限公司 | 用于机器视觉算法的多处理器片上*** |
CN103150265A (zh) * | 2013-02-04 | 2013-06-12 | 山东大学 | 面向嵌入式片上异构存储器的细粒度数据分配方法 |
CN108292232A (zh) * | 2015-12-21 | 2018-07-17 | 英特尔公司 | 用于加载索引和分散操作的指令和逻辑 |
CN110941448A (zh) * | 2018-09-24 | 2020-03-31 | 英特尔公司 | 用于片聚集和片分散的装置和方法 |
CN112130848A (zh) * | 2020-09-24 | 2020-12-25 | 中国科学院计算技术研究所 | 一种面向便笺式存储器的带宽感知循环分块优化技术 |
CN115729845A (zh) * | 2021-08-30 | 2023-03-03 | 华为技术有限公司 | 数据存储装置和数据处理方法 |
CN115630013A (zh) * | 2022-10-31 | 2023-01-20 | 上海交通大学 | 基于空间可重构阵列的便笺式缓存架构构建方法及*** |
Non-Patent Citations (7)
Title |
---|
Aristotle: A performance impact indicator for the OpenCL kernels using local memory;Fang, JB (Fang, Jianbin) 等;《Web of Science》;全文 * |
CRISPR高通量筛选数据的整合分析技术研究;崔英博;《信息科技》;20180901;全文 * |
Optimizing Streaming Parallelism on Heterogeneous Many-Core Architectures;peng zhang,jianbin fang等;《IEEE》;全文 * |
peng zhang,jianbin fang等.Evaluating Multiple Streams on Heterogeneous Platforms.《Web of Science》.2016,全文. * |
peng zhang,jianbin fang等.Optimizing Direct Convolutions on ARM Multi-Cores.《ACM》.2023,全文. * |
多智能体合作对抗环境下策略优化技术研究及***实现;姜浩;《信息科技》;20230215;全文 * |
面向异构众核平台的多任务流编程与性能优化技术研究;张鹏;《信息科技》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117312330A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10140251B2 (en) | Processor and method for executing matrix multiplication operation on processor | |
US8984043B2 (en) | Multiplying and adding matrices | |
US11586577B2 (en) | Autonomous memory architecture | |
CN103336758B (zh) | 一种采用带有局部信息的压缩稀疏行的稀疏矩阵存储方法及基于该方法的SpMV实现方法 | |
CN117312330B (zh) | 基于便签式存储的向量数据聚集方法、装置及计算机设备 | |
US8676874B2 (en) | Data structure for tiling and packetizing a sparse matrix | |
US8762655B2 (en) | Optimizing output vector data generation using a formatted matrix data structure | |
US9612750B2 (en) | Autonomous memory subsystem architecture | |
KR102287677B1 (ko) | 데이터 액세스 방법, 장치, 기기 및 저장 매체 | |
US9058301B2 (en) | Efficient transfer of matrices for matrix based operations | |
US20220342934A1 (en) | System for graph node sampling and method implemented by computer | |
TWI696949B (zh) | 直接記憶體存取方法、裝置、專用計算晶片及異構計算系統 | |
CN113900710B (zh) | 扩展存储器组件 | |
US8826252B2 (en) | Using vector atomic memory operation to handle data of different lengths | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
US10915470B2 (en) | Memory system | |
CN117312182B (zh) | 基于便签式存储的向量数据分散方法、装置及计算机设备 | |
Nakano et al. | The random address shift to reduce the memory access congestion on the discrete memory machine | |
WO2022007597A1 (zh) | 矩阵运算的方法和加速器 | |
CN110096307B (zh) | 通信处理器 | |
Sun et al. | Optimizing sparse matrix-vector multiplication on GPUs via index compression | |
CN116303135B (zh) | 任务数据的装载方法、装置和计算机设备 | |
KR20180018269A (ko) | 컴퓨팅 장치 및 컴퓨팅 장치에서 연산들을 처리하는 방법 | |
CN117806709B (zh) | ***级芯片的性能优化方法、装置、设备和存储介质 | |
KR20220079987A (ko) | 니어-메모리 데이터 감소 |
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 |