CN112540936A - 面向异构众核架构的离散访存读写方法 - Google Patents
面向异构众核架构的离散访存读写方法 Download PDFInfo
- Publication number
- CN112540936A CN112540936A CN201910898087.1A CN201910898087A CN112540936A CN 112540936 A CN112540936 A CN 112540936A CN 201910898087 A CN201910898087 A CN 201910898087A CN 112540936 A CN112540936 A CN 112540936A
- Authority
- CN
- China
- Prior art keywords
- core
- calculation
- computation
- data
- discrete
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开一种面向异构众核架构的离散访存读写方法,包括以下步骤:S1、将众核组共同组成一个存储块,将参与计算的物理量均匀分布在各计算核心的私有存储空间中,并通过建立索引关系可找到不同下标计算时数组的具***置,再利用核间通信机制实现核间数据的访问;S2、利用步骤S1的映射同时结合非阻塞通信来批量获取数据,并将重排好的数据存入本地私有高速缓冲区中;S3、将步骤S1以预处理方式独立于计算之外,并根据课题需求可使用主从异步并行方式,继续隐藏建立映射过程带来的额外开销。本发明面向异构众核架构的离散访存读写方法,其利用分布式存储技术及其映射机制与高效非阻塞批处理数据重排方法,有效避免频繁的访主存,提高众核并行效率。
Description
技术领域
本发明属于离散访存读写技术领域,尤其涉及一种面向异构众核架构的离散访存读写方法。
背景技术
近年随着高性能计算的发展,众多工程应用软件对数值计算性能追求越来越高。在数值求解过程中,数据的离散访存特性一直是高性能计算发展过程中的一个难题。
现有的基于国产众核架构下解决离散访存的常规方式是:在数值计算过程中通过访主存方式将需要参与计算的数值读取到计算核心私有缓存上,由于主从之间带宽低,频繁的数据传输带来的额外***开销极大影响计算效率。
发明内容
本发明目的在于提供一种面向异构众核架构的离散访存读写方法,该离散访存读写方法,能够有效避免频繁的访主存,提升众核并行效率。
为达到上述目的,本发明采用的技术方案是:一种面向异构众核架构的离散访存读写方法,包括以下步骤:
S1、将众核组内所有计算核心的局部存储空间共同组成一个存储块,将参与计算的离散访存数据均匀分布在各计算核心的私有存储空间中,即根据数据大小在所有计算核心间平均分配,后续计算过程中计算核心需要用到的离散数据如果不在本计算核心的局部存储空间,需要从其他计算核心获取,因此需要首先建立这种数据需求索引关系,即哪些数据需要发送给哪些计算核心,具体体现为数组下标与计算核心标号的对应关系,这种关系计算前可以通过网格拓扑关系确定,计算过程中利用核间通信机制实现核间数据的访问;
S2、利用步骤S1的映射,映射具体包含S1步骤已建立数组下标与计算核心标号的对应关系,即已知哪些数据需要发送给哪些计算核心,同时结合非阻塞通信来批量获取数据,并将重排好的数据存入本地私有高速缓冲区中,其中,非阻塞通信即核组内部提供了计算核心间通信机制,通信与计算同时进行,可实现计算\通信相互隐藏,提高效率;
S3、将步骤S1以预处理方式独立于计算之外,同时为进一步提高课题整体运行效率,可使用主从异步并行方式,继续隐藏建立映射过程带来的额外开销。
上述技术方案中进一步改进的技术方案如下:
1. 上述方案中,所述建立索引关系寻找不同下标计算时数组的具***置时,具***置包括计算核心编号和核内下标。
2. 上述方案中,所述步骤S3中将步骤S1以预处理方式独立于计算之外,是指步骤S1仅需建议一次索引表,所以可以放入预处理中,步骤S1置于核心循环的前面,仅调用一次。
3. 上述方案中,所述步骤S3主从异步并行方式指控制核心与计算核心同时工作,步骤S1由控制核心完成,此时计算核心进行其他操作,二者的计算时间互相隐藏。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
本发明面向异构众核架构的离散访存读写方法,该离散访存方法提出一种基于数据预处理和非阻塞批量读的组合方式,充分利用了分布式存储技术及其映射机制与高效非阻塞批处理数据重排方法,该方法能够有效减少计算过程中不必要的离散查表开销,避免频繁的访主存,从而增加计算效率,提高众核并行效率。
附图说明
附图1为本发明核间数据分布及其访问示意图;
附图2为本发明消息传递过程数据包流水示意图;
附图3为本发明主从异步并行示意图。
具体实施方式
下面结合实施例对本发明作进一步描述:
实施例:一种面向异构众核架构的离散访存读写方法,包括以下步骤:
S1、将众核组内所有计算核心的局部存储空间共同组成一个存储块,将参与计算的离散访存数据均匀分布在各计算核心的私有存储空间中,即根据数据大小在所有计算核心间平均分配,后续计算过程中计算核心需要用到的离散数据如果不在本计算核心的局部存储空间,需要从其他计算核心获取,因此需要首先建立这种数据需求索引关系,即哪些数据需要发送给哪些计算核心,具体体现为数组下标与计算核心标号的对应关系,这种关系计算前可以通过网格拓扑关系确定,计算过程中利用核间通信机制实现核间数据的访问;
S2、利用步骤S1的映射,映射具体包含S1步骤已建立数组下标与计算核心标号的对应关系,即已知哪些数据需要发送给哪些计算核心,同时结合非阻塞通信来批量获取数据,并将重排好的数据存入本地私有高速缓冲区中,其中,非阻塞通信即核组内部提供了计算核心间通信机制,通信与计算同时进行,可实现计算\通信相互隐藏,提高效率;
S3、将步骤S1以预处理方式独立于计算之外,同时为进一步提高课题整体运行效率,可使用主从异步并行方式,继续隐藏建立映射过程带来的额外开销。
上述建立索引关系寻找不同下标计算时数组的具***置时,具***置包括计算核心编号和核内下标。
上述步骤S3中将步骤S1以预处理方式独立于计算之外,是指步骤S1仅需建议一次索引表,所以可以放入预处理中,步骤S1置于核心循环的前面,仅调用一次。
上述步骤S3主从异步并行方式指控制核心与计算核心同时工作,步骤S1由控制核心完成,此时计算核心进行其他操作,二者的计算时间互相隐藏。
采用上述面向异构众核架构的离散访存读写方法时,其充分利用了分布式存储技术及其映射机制与高效非阻塞批处理数据重排方法,可有效避免频繁的访主存,提高众核并行效率;
由于众核的计算核心本地存储空间有限,参与计算的离散访存数据无法全部放入,采用分布式存储技术可以将离散数据全部放入,计算时通过映射机制读写,相当于手工cache存储器;
计算过程中计算核心需要用到的离散数据如果不在本计算核心的局部存储空间,需要从其他计算核心获取,非阻塞批处理数据通信可快速地将重排后的数据按索引关系发送给相应的计算核心,从而达到快速访问这些数据的目的;
适用于绝大多数的非结构网格数值计算软件,涵盖领域广泛,包括:航空航天,汽车设计,船舶,气候变化模拟,核模拟等,并拥有超高的离散访存效率。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
离散访存:英文为Discrete to Access Memory,数值计算中对数组下标的不连续访问,导致频繁读写内存,进而影响计算效率。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (4)
1.一种面向异构众核架构的离散访存读写方法,其特征在于:包括以下步骤:
S1、将众核组内所有计算核心的局部存储空间共同组成一个存储块,根据数据大小将参与计算的离散访存数据平均分配在各计算核心的私有存储空间中,后续计算过程中计算核心需要用到的离散数据如果不在本计算核心的局部存储空间,需要从其他计算核心获取,因此需要首先建立这种数据需求索引关系,这种关系计算前可以通过网格拓扑关系确定,计算过程中利用核间通信机制实现核间数据的访问;
S2、利用步骤S1的映射,即S1步骤已建立数组下标与计算核心标号的对应关系,同时结合非阻塞通信,即核组内部提供了计算核心间通信机制,通信与计算同时进行,可实现计算\通信相互隐藏来批量获取数据,并将重排好的数据存入本地私有高速缓冲区中;
S3、将步骤S1以预处理方式独立于计算之外,可使用主从异步并行方式,继续隐藏建立映射过程带来的额外开销。
2.根据权利要求1所述的面向异构众核架构的离散访存读写方法,其特征在于:所述建立索引关系寻找不同下标计算时数组的具***置时,具***置包括计算核心编号和核内下标。
3.根据权利要求1所述的面向异构众核架构的离散访存读写方法,其特征在于:所述步骤S3中将步骤S1以预处理方式独立于计算之外,是指步骤S1仅需建议一次索引表,所以可以放入预处理中,步骤S1置于核心循环的前面,仅调用一次。
4.根据权利要求1所述的面向异构众核架构的离散访存读写方法,其特征在于:所述步骤S3主从异步并行方式指控制核心与计算核心同时工作,步骤S1由控制核心完成,此时计算核心进行其他操作,二者的计算时间互相隐藏。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898087.1A CN112540936A (zh) | 2019-09-23 | 2019-09-23 | 面向异构众核架构的离散访存读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910898087.1A CN112540936A (zh) | 2019-09-23 | 2019-09-23 | 面向异构众核架构的离散访存读写方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540936A true CN112540936A (zh) | 2021-03-23 |
Family
ID=75012965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910898087.1A Withdrawn CN112540936A (zh) | 2019-09-23 | 2019-09-23 | 面向异构众核架构的离散访存读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540936A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254241A (zh) * | 2021-06-25 | 2021-08-13 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种应用于cfd高性能计算的数据跨进程传输方法 |
CN114564150A (zh) * | 2022-02-28 | 2022-05-31 | 无锡江南计算技术研究所 | 动态链接模式片上存储器空间分配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468567A (zh) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | 一种异构众核离散访存优化方法 |
US20190026246A1 (en) * | 2016-04-06 | 2019-01-24 | Institute Of Computing Technology, Chinese Academy Of Sciences | On-chip data partitioning read-write method, system, and device |
-
2019
- 2019-09-23 CN CN201910898087.1A patent/CN112540936A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468567A (zh) * | 2015-11-24 | 2016-04-06 | 无锡江南计算技术研究所 | 一种异构众核离散访存优化方法 |
US20190026246A1 (en) * | 2016-04-06 | 2019-01-24 | Institute Of Computing Technology, Chinese Academy Of Sciences | On-chip data partitioning read-write method, system, and device |
Non-Patent Citations (1)
Title |
---|
许瑾晨 等: "《面向异构众核从核的数学函数库访存优化方法》", 《计算机科学》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254241A (zh) * | 2021-06-25 | 2021-08-13 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种应用于cfd高性能计算的数据跨进程传输方法 |
CN114564150A (zh) * | 2022-02-28 | 2022-05-31 | 无锡江南计算技术研究所 | 动态链接模式片上存储器空间分配方法 |
CN114564150B (zh) * | 2022-02-28 | 2024-03-22 | 无锡江南计算技术研究所 | 动态链接模式片上存储器空间分配方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049241B (zh) | 一种提高cpu+gpu异构装置计算性能的方法 | |
CN104317770B (zh) | 用于众核处理***的数据存储结构及数据访问方法 | |
CN103634379B (zh) | 一种分布式存储空间的管理方法和分布式存储*** | |
CN104346285A (zh) | 内存访问处理方法、装置及*** | |
CN104361113A (zh) | 一种内存-闪存混合存储模式下的olap查询优化方法 | |
CN112540936A (zh) | 面向异构众核架构的离散访存读写方法 | |
CN110058816B (zh) | 一种基于ddr的高速多用户队列管理器及方法 | |
CN104765701B (zh) | 数据访问方法及设备 | |
CN101441616B (zh) | 基于寄存器文件的快速数据交换结构及其管理方法 | |
CN101673244A (zh) | 多核或集群***的存储器控制方法 | |
CN117472448A (zh) | 一种申威众核处理器从核簇加速并行方法、设备及介质 | |
CN101420233B (zh) | 一种比特交织器及交织方法 | |
CN108959149B (zh) | 一种基于共享内存的多核处理器交互总线设计方法 | |
CN116431562B (zh) | 一种基于加速处理器的多头注意力机制融合计算分配方法 | |
CN108234147A (zh) | Gpdsp中基于主机计数的dma广播数据传输方法 | |
CN115906684A (zh) | 面向申威架构的流体动力学多重网格求解器并行优化方法 | |
CN101996142B (zh) | 一种访问存储器的方法及装置 | |
CN109314658A (zh) | 网络交换设备及时隙交换的方法 | |
CN112416825B (zh) | 面向异构众核基于空间重排的数据传输方法 | |
CN110244933B (zh) | 一种基于cuda的矩阵转置方法 | |
CN110083311A (zh) | 一种基于ssd描述符下发软硬件交互的方法及其*** | |
CN103389949B (zh) | 一种数据重排方法及装置 | |
CN110647406B (zh) | 粗粒度的图数据异步迭代更新方法 | |
CN112559031B (zh) | 基于数据结构的众核程序重构方法 | |
Liu et al. | The research of real-time database technique used in power system dispatcher training simulator |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210323 |