CN112783511A - 一种栅元少群参数计算模块程序的优化方法、系统、终端 - Google Patents

一种栅元少群参数计算模块程序的优化方法、系统、终端 Download PDF

Info

Publication number
CN112783511A
CN112783511A CN202110160576.4A CN202110160576A CN112783511A CN 112783511 A CN112783511 A CN 112783511A CN 202110160576 A CN202110160576 A CN 202110160576A CN 112783511 A CN112783511 A CN 112783511A
Authority
CN
China
Prior art keywords
program
optimization
optimizing
mpi
module
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
Application number
CN202110160576.4A
Other languages
English (en)
Other versions
CN112783511B (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 University of Information Technology
Original Assignee
Chengdu University of Information Technology
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 University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN202110160576.4A priority Critical patent/CN112783511B/zh
Publication of CN112783511A publication Critical patent/CN112783511A/zh
Application granted granted Critical
Publication of CN112783511B publication Critical patent/CN112783511B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明属于热中子反应堆数据处理技术领域,公开了一种栅元少群参数计算模块程序的优化方法、系统、终端,编译级优化,调整程序的编译选项,并使用英特尔编译器提供的优化选项‑自动向量化对程序进行优化。串行程序优化,使程序选用尽量小的数据类型,并使程序中的结构体对齐,尽量大数据类型在前,小数据类型在后,以更好地满足处理器的对齐要求。使用MPI技术对程序的热点模块‑栅元计算模块进行并行优化。本发明在栅元少群参数计算模块程序优化的应用中,极大的提升了程序的计算效率。针对千万网格规模算例,可以实现多节点的40核,80核和120核的并行计算,且并行效率都不低于50%。

Description

一种栅元少群参数计算模块程序的优化方法、系统、终端
技术领域
本发明属于热中子反应堆数据处理技术领域,尤其涉及一种栅元少群参数计算模块程序的优化方法、系统、终端,具体涉及一种基于MPI的栅元少群参数计算模块程序的优化方法。
背景技术
目前,栅元计算程序的优化,一般先从硬件入手,提升CPU的运算性能,并检查硬件设置,优化程序的内存访问。然后从运行环境上调整,通过监控整个系统的性能及各项指标看问题所在,然后看能不能通过一些运行参数的调整,降低系统消耗。最后是编译器级调优,使用编译器的优化选项或者引入自动向量化的方式对程序进行优化。综合来讲,现有的技术方案分为四个步骤层次,首先是硬件级的优化,使用性能更高的计算机硬件来运行程序;然后是运行级优化,从运行环境上调整,通过一些运行参数的调整,提升程序的运行性能;其次是编译器级优化,通过使用编译器提供的优化选项或引入自动向量化编译指令,深度优化,性能剖析指导的优化(PGO)等方式获得程序的性能提高;最后是引入OpenMP进行线程级并行优化,充分利用多核的处理性能,提升程序的运行性能。
通过上述分析,现有技术存在的问题及缺陷为:
(1)对于热中子反应堆物理计算中的栅元少群参数计算模块程序的优化,可以先从硬件下手,简单粗暴直接换掉性能低的硬件,比如网卡从千兆换到万兆的,硬盘从机械的换成SSD等等。优化硬件设备一直是最快速有效的手段,但也是经济成本花费最高的手段。在万不得已的情况下,一般不会采用此技术手段。
(2)使用编译器的优化选项,有时候也能获得巨大的性能提高。该方法如果栅元少群参数计算模块程序的网格算例规模不大,且对程序性能的提升要求不高时,还是会产生一些相应的效果。但是在计算千万网格规模的算例时,如何优化栅元少群参数计算模块程序,使其能够在高性能集群上运行性能效果显著提升,是一个较为困难的问题。这也是该方法的缺陷所在,即程序优化的性能提升效果容易存在瓶颈。
(3)引入OpenMP进行线程级别的并行化,充分利用多核,多线程的并行处理能力。但是本发明在使用这种技术的时候,尤其要防止数据竞争,死锁,饿死,内存伪共享等问题。所谓数据竞争就是在多个线程访问相同数据时,由于同步等原因,需要让步等待其他线程访问结束,导致性能降低。所谓伪共享,是多个线程读写数据映射在一个cache线上时,如果一个线程更改了数据,那么其他线程对该数据的缓存就失效,如果线程频繁的更改数据,硬件就需要不停的更新cache线,这使得性能从独享cache降低到共享cache或者内存的水平。同时,当问题规模超过单节点处理能力时,会达到性能提升的瓶颈,无法充分利用多节点多核的处理性能。
(4)现有技术方案在当程序计算千万网格规模算例规时,程序运行的性能提升效果不显著,无法达到规定的性能提升要求。不仅实现成本偏高,而且对技术人员要求很高,需要对整个系统非常熟且十分熟悉编译的使用,优化过程的理解。对集群多处理机的运行环境来说,性能提升效果有限,往往无法满足实际生产的要求。
解决以上问题及缺陷的难度为:
如何使优化后的程序能够在计算千万网格规模算例,获得显著的性能提升,是需要着重考虑的一个问题。此时问题规模已超过单节点的处理能力,要使程序能在多节点多核的环境下运行,现有的技术方法无法实现,只能使用MPI技术实现节点间的通信。随之而来就会出现一个新的问题,即数据通信的开销会影响到程序的运行性能。如何选取最优的数据划分方式,尽可能的降低通信的时间开销,是一个比较难的问题。
解决以上问题及缺陷的意义为:
能够在尽可能的节约经济成本的前提下,实现栅元少群参数计算模块程序在多节点多核的运行环境下,对千万网格规模算例的高效并行计算,满足实际生产应用的需求。
发明内容
针对现有技术存在的问题,本发明提供了一种栅元少群参数计算模块程序的优化方法、系统、终端。
本发明是这样实现的,一种基于MPI的栅元少群参数计算模块程序的优化方法,应用于信息数据处理终端,所述基于MPI的栅元少群参数计算模块程序的优化方法包括:
编译级优化,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化,面向程序代码本身,根据C/C++语言的运行机制,使用合理的实现方式。主要针对代码中的循环,以及结构体的构造进行优化;
使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
进一步,所述编译级优化具体包括:
步骤1:编译选项优化,系统编译器提供了-O变量来控制编译优化。使用优化选项以牺牲程序的编译时间和程序的可调试能力为代价,优化程序的性能。这里本发明使用”-O2-g”的编译选项进行编译;“-g”表示使编译器生成调试信息,“-02”表示尝试更多的寄存器级的优化以及指令级的优化;
步骤2:编译器优化,对程序的热点函数的循环计算中的内部循环使用编译器提供的自动向量化,在循环前使用#pragma vector unaligned编译指令指示编译器进行向量化时使用不对齐的数据读写方式。
进一步,所述串行程序优化具体包括:第一步:在程序中选用尽量小的数据类型,防止内存的浪费。同时针对程序中访问次数较多的结构体变量,尽量采用大数据类型在前,小数据类型在后的声明方式,一方面这样可以节省一些空间,另一方面可以更好地满足处理器的对齐要求。
第二步:对程序的热点函数的循环部分进行串行优化。
进一步,所述第二步具体包括:对程序的热点函数内的小循环且内部没有判断的进行展开,以减少每次的判断数量和循环变量的计算次数,增加处理器的流水线性能。对热点函数内的多个之间没有依赖的小循环合并,增加乱序执行能力。
进一步,所述使用MPI技术对程序的热点模块-栅元计算模块进行并行优化包括:
第1步:对初始化结块数函数进行MPI任务划分,初始化结块数函数并行后,各个进程会根据新的结块数分配微观截面变量;
第2步:对读取栅元库数据函数进行基于MPI的并行划分,实现多进程并行读取数据;
第3步:第2步并行划分后,对截面计算部分进行MPI并行划分。
进一步,所述第2步具体包括:使用拆分变量的方式,拆分读入数据到内存变量中,然后为各个进程定位至该进程读取栅元库的相应位置,最后使各个进程进行数据读取,各个进程会各自读取各自的栅元库数据,为后续的并行截面计算打下基础。
所述第3步具体包括:首先新增函数参数表示划分后各个进程需要的结块数,然后使循环中的的细微循环计算部分仅由主进程完成,使得微小数据不再进行MPI通信,避免冗余数据的传输开销;对关键循环计算实现新划分数据的MPI并行计算,同时增加参数用于细小参数的正确定位,最后使用点对点的非阻塞通信的方式将各个进程的计算结果汇总到主进程。
本发明的另一目的在于提供一种基于MPI的栅元少群参数计算模块程序的优化系统,包括:
编译级优化模块,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化模块,面向程序代码本身,根据C/C++语言的运行机制,使用合理的实现方式。主要针对代码中的循环,以及结构体的构造进行优化;
并行优化模块,用于使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
编译级优化,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化,面向程序代码本身,根据C/C++语言的运行机制,使用合理的实现方式。主要针对代码中的循环,以及结构体的构造进行优化;
使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述的基于MPI的栅元少群参数计算模块程序的优化方法。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的基于MPI的栅元少群参数计算模块程序的优化方法。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
本发明在栅元少群参数计算模块程序优化的应用中,极大的提升了程序的计算效率。在2节点40核大规模算例测试并行情况下,程序的加速比达到了20。在单节点20核大规模算例测试并行情况下,程序的加速比超过了30。并且针对千万网格规模算例,可以实现多节点的40核,80核和120核的并行计算,且并行效率都不低于50%。
对比的技术效果或者实验效果包括:
20核加速性能表
Figure BDA0002936423260000061
40核加速性能表
Figure BDA0002936423260000062
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于MPI的栅元少群参数计算模块程序的优化方法。
图2是本发明实施例提供的基于MPI的并行程序的框架结构图。
图3是本发明实施例提供的MPI非阻塞通信的示意图。
图4是本发明实施例提供的栅元计算模块的串行整体计算流程图。
图5是本发明实施例提供的对模块进行依赖分析,并行优化后的计算逻辑结构如下所示,新增的数字编号0到n-1表示运行的进程号图。
图6是本发明实施例提供的对栅元计算模块中的截面计算,并行划分后的计算示意图。
图7是本发明实施例提供的在截面计算之前,程序需要从栅元库读取数据,该过程也进行了并行划分示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种栅元少群参数计算模块程序的优化方法、系统、终端、介质,下面结合附图对本发明作详细的描述。
如图1所示,基于MPI的栅元少群参数计算模块程序的优化方法包括:
S101,编译级优化,调整程序的编译选项,并使用英特尔编译器提供的优化选项-自动向量化对程序进行优化。
S102,串行程序优化,使程序选用尽量小的数据类型,并使程序中的结构体对齐,尽量大数据类型在前,小数据类型在后,以更好地满足处理器的对齐要求。
S103,使用MPI技术对程序的热点模块-栅元计算模块进行并行优化,该模块的并行化包括三个部分,分别是初始化结块数,读取栅元库数据以及截面计算。
步骤S101具体内容如下:
步骤1.1:编译选项优化,使用”-O2-g”的编译选项进行编译。“-g”表示使编译器生成调试信息,“-02”表示尝试更多的寄存器级的优化以及指令级的优化。
步骤1.2:编译器优化,对程序的热点函数的循环计算中的内部循环使用英特尔编译器提供的自动向量化功能,在循环前使用#pragma vector unaligned编译指令指示编译器进行向量化时使用不对齐的数据读写方式。
步骤2:串行程序优化,使程序选用尽量小的数据类型,并使程序中的结构体对齐,尽量大数据类型在前,小数据类型在后,以更好地满足处理器的对齐要求。
步骤S103包括:
步骤3.1:对初始化结块数函数进行MPI任务划分,使其能够根据新的结块数分配微观截面变量。
步骤3.2:对读取栅元库数据函数进行基于MPI的变量拆分,具体操作为拆分读入数据到内存变量中,然后为各个进程定位至该进程读取栅元库的相应位置,最后使各个进程进行数据读取。
步骤3.3:在上述步骤的基础上,对截面计算部分进行MPI并行划分,首先新增函数参数表示划分后各个进程需要的结块数,然后使细微循环的计算部分仅由主进程完成,使得微小数据不再进行MPI通信,避免冗余数据的传输开销。对关键循环计算实现新划分数据的MPI并行计算,最后使用点对点的非阻塞通信的方式将各个进程的计算结果汇总到主进程。
本发明提供一种基于MPI的栅元少群参数计算模块程序的优化系统,包括:
编译级优化模块,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化模块,面向程序代码本身,根据C/C++语言的运行机制,使用合理的实现方式。主要针对代码中的循环,以及结构体的构造进行优化;
并行优化模块,用于使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
下面结合具体实施例对本发明的技术方案作进一步描述。
实施例
MPI全称是message passing interface,即信息传递接口,是用于跨节点通讯的基础软件环境。一个MPI程序包含若干个进程。每个mpi进程都运行一份相同的代码,进程的行为由通讯域和该通讯域下的进程id所决定。基于MPI的并行程序的框架结构图如图2所示。MPI是一种基于信息传递的并行编程技术。消息传递接口是一种编程接口标准,而不是一种具体的编程语言。MPI的目标是高性能,大规模性,和可移植性。MPI在今天仍为高性能计算的主要模型。
非阻塞通信是使MPI应用程序实现高性能计算的关键,使用MPI非阻塞通信可以避免处理机计算资源的浪费,实现计算与通信重叠。使用MPI非阻塞通信一个通用的原则就是:尽早开始通信,尽晚完成通信。在开始通信和完成通信之间进行计算,这样可能有更多的计算任务可以和通信重叠,也使得通信可以在计算任务执行期间完成,而不需要专门的等待时间,从而实现程序并行计算的效率最大化。MPI非阻塞通信的示意图如图3所示。由于MPI通信经常需要较长的时间,在阻塞通信还没有结束的时候,处理机只能等待,这样就浪费了处理机的计算资源。非阻塞通信主要用于计算和通信的重叠,从而提高整个程序的执行效率。
栅元计算模块的串行整体计算流程如图4所示。原始程序串行版本利用for循环主次遍历材料编号,然后调用函数初始化结块数。初始化后截面计算模块开始计算截面,最后调用函数输出计算结果。
对模块进行依赖分析,并行优化后的计算逻辑结构如下所示,新增的数字编号0到n-1表示运行的进程号。如图5所示。并行后结块初始化函数会根据每个进程新的结块数分配给微观截面变量,然后由多个进程并行进行截面计算,最后结果输出函数汇总各个进程计算的数据,主进程汇总中间计算数据。
针对栅元计算模块中的截面计算,并行划分后的计算示意图如图6,数字编号0到n-1表示运行的进程号。循环中的的细微循环计算部分仅由主进程完成,使得微小数据不再进行MPI通信,避免冗余数据的传输开销;对关键循环计算部分实现新划分数据的MPI并行计算,同时增加参数用于细小参数的正确定位,最后使用点对点的非阻塞通信的方式将各个进程的计算结果汇总到主进程。
在截面计算之前,程序需要从栅元库读取数据,该过程也进行了并行划分示意图如图7。使用拆分变量的方式,拆分读入数据到内存变量中,然后为各个进程定位至该进程读取栅元库的相应位置,最后使各个进程进行数据读取,各个进程会各自读取各自的栅元库数据。
下面结合具体实验数据对比对本发明的积极效果作进一步描述
20核加速性能表
Figure BDA0002936423260000101
40核加速性能表
Figure BDA0002936423260000102
在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上;术语“上”、“下”、“左”、“右”、“内”、“外”、“前端”、“后端”、“头部”、“尾部”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”等仅用于描述目的,而不能理解为指示或暗示相对重要性。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,应用于信息数据处理终端,所述基于MPI的栅元少群参数计算模块程序的优化方法包括:
编译级优化,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化,面向程序代码本身,根据C/C++语言的运行机制,对代码中的循环,以及结构体的构造进行优化;
使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
2.如权利要求1所述的基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,所述编译级优化具体包括:
步骤1:编译选项优化,系统编译器提供了-O变量来控制编译优化;使用优化选项以牺牲程序的编译时间和程序的调试能力为代价,优化程序的性能;使用”-O2-g”的编译选项进行编译;“-g”表示使编译器生成调试信息,“-02”表示尝试更多的寄存器级的优化以及指令级的优化;
步骤2:编译器优化,对程序的热点函数的循环计算中的内部循环使用编译器提供的自动向量化,在循环前使用#pragma vector unaligned编译指令指示编译器进行向量化时使用不对齐的数据读写方式。
3.如权利要求1所述的基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,所述串行程序优化具体包括:第一步:在程序中选用尽量小的数据类型,防止内存的浪费;同时对程序中访问次数较多的结构体变量,采用大数据类型在前,小数据类型在后的声明方式,满足处理器的对齐要求;
第二步:对程序的热点函数的循环部分进行串行优化。
4.如权利要求3所述的基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,所述第二步具体包括:对程序的热点函数内的小循环且内部没有判断的进行展开,减少每次的判断数量和循环变量的计算次数,增加处理器的流水线性能;对热点函数内的多个之间没有依赖的小循环合并,增加乱序执行能力。
5.如权利要求1所述的基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,所述使用MPI技术对程序的热点模块-栅元计算模块进行并行优化包括:
第1步:对初始化结块数函数进行MPI任务划分,初始化结块数函数并行后,各个进程会根据新的结块数分配微观截面变量;
第2步:对读取栅元库数据函数进行基于MPI的并行划分,实现多进程并行读取数据;
第3步:第2步并行划分后,对截面计算部分进行MPI并行划分。
6.如权利要求5所述的基于MPI的栅元少群参数计算模块程序的优化方法,其特征在于,所述第2步具体包括:使用拆分变量的方式,拆分读入数据到内存变量中,然后为各个进程定位至该进程读取栅元库的相应位置,最后使各个进程进行数据读取,各个进程会各自读取各自的栅元库数据,为后续的并行截面计算打下基础;
所述第3步具体包括:首先新增函数参数表示划分后各个进程需要的结块数,然后使循环中的的细微循环计算部分仅由主进程完成,使得微小数据不再进行MPI通信,避免冗余数据的传输开销;对关键循环计算实现新划分数据的MPI并行计算,同时增加参数用于细小参数的正确定位,最后使用点对点的非阻塞通信的方式将各个进程的计算结果汇总到主进程。
7.一种基于MPI的栅元少群参数计算模块程序的优化系统,其特征在于,所述基于MPI的栅元少群参数计算模块程序的优化系统包括:
编译级优化模块,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化模块,面向程序代码本身,根据C/C++语言的运行机制,对代码中的循环,以及结构体的构造进行优化;
并行优化模块,用于使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
编译级优化,调整程序的编译选项,并使用编译器自带的优化选项以及自动向量化指令对程序进行优化;
串行程序优化,面向程序代码本身,根据C/C++语言的运行机制,对代码中的循环,以及结构体的构造进行优化;
使用MPI技术对程序的热点模块-栅元计算模块进行并行优化。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1~6任意一项所述的基于MPI的栅元少群参数计算模块程序的优化方法。
10.一种信息数据处理终端,所述信息数据处理终端用于实现权利要求1~6任意一项所述的基于MPI的栅元少群参数计算模块程序的优化方法。
CN202110160576.4A 2021-02-05 2021-02-05 一种栅元少群参数计算模块程序的优化方法、系统、终端 Active CN112783511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110160576.4A CN112783511B (zh) 2021-02-05 2021-02-05 一种栅元少群参数计算模块程序的优化方法、系统、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110160576.4A CN112783511B (zh) 2021-02-05 2021-02-05 一种栅元少群参数计算模块程序的优化方法、系统、终端

Publications (2)

Publication Number Publication Date
CN112783511A true CN112783511A (zh) 2021-05-11
CN112783511B CN112783511B (zh) 2023-04-11

Family

ID=75760915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110160576.4A Active CN112783511B (zh) 2021-02-05 2021-02-05 一种栅元少群参数计算模块程序的优化方法、系统、终端

Country Status (1)

Country Link
CN (1) CN112783511B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672235A (zh) * 2021-08-25 2021-11-19 中国人民解放军国防科技大学 射线水声传播模型的多核并行方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007053922A1 (en) * 2005-11-09 2007-05-18 Whirlpool S.A. A linear-compressor control system, a method of controlling a linear compressor and a linear compressor
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法
CN103235974A (zh) * 2013-04-25 2013-08-07 中国科学院地理科学与资源研究所 一种提高海量空间数据处理效率的方法
WO2015127668A1 (en) * 2014-02-28 2015-09-03 Pivotal Software, Inc. Task centric resource scheduling framework
CN105988792A (zh) * 2015-02-11 2016-10-05 国核(北京)科学技术研究院有限公司 核电软件开发自动化系统和方法
CN106202613A (zh) * 2016-06-24 2016-12-07 西安交通大学 一种适用于耦合输运计算的大规模并行方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007053922A1 (en) * 2005-11-09 2007-05-18 Whirlpool S.A. A linear-compressor control system, a method of controlling a linear compressor and a linear compressor
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法
CN103235974A (zh) * 2013-04-25 2013-08-07 中国科学院地理科学与资源研究所 一种提高海量空间数据处理效率的方法
WO2015127668A1 (en) * 2014-02-28 2015-09-03 Pivotal Software, Inc. Task centric resource scheduling framework
CN105988792A (zh) * 2015-02-11 2016-10-05 国核(北京)科学技术研究院有限公司 核电软件开发自动化系统和方法
CN106202613A (zh) * 2016-06-24 2016-12-07 西安交通大学 一种适用于耦合输运计算的大规模并行方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VISHNU A 等: "Hot-spot avoidance with multi-pathing over infiniband: An mpi perspective" *
陈达智 等: "MPI自动并行化编译系统中消息传递代码生成算法" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672235A (zh) * 2021-08-25 2021-11-19 中国人民解放军国防科技大学 射线水声传播模型的多核并行方法

Also Published As

Publication number Publication date
CN112783511B (zh) 2023-04-11

Similar Documents

Publication Publication Date Title
Hsieh et al. Transparent offloading and mapping (TOM) enabling programmer-transparent near-data processing in GPU systems
US10430190B2 (en) Systems and methods for selectively controlling multithreaded execution of executable code segments
Gajski et al. Essential issues in multiprocessor systems
Kogge et al. Exascale computing trends: Adjusting to the" new normal"'for computer architecture
CN103714039B (zh) 通用计算数字信号处理器
Hammond et al. Transactional coherence and consistency: Simplifying parallel hardware and software
Tan et al. Analysis and performance results of computing betweenness centrality on IBM Cyclops64
CN111090464A (zh) 一种数据流处理方法及相关设备
US10838768B2 (en) Method for optimizing memory access in a microprocessor including several logic cores upon resumption of executing an application, and computer implementing such a method
Sakai et al. Super-threading: Architectural and software mechanisms for optimizing parallel computation
CN112783511B (zh) 一种栅元少群参数计算模块程序的优化方法、系统、终端
Arvind et al. Two fundamental issues in multiprocessing
Cieslewicz et al. Realizing parallelism in database operations: insights from a massively multithreaded architecture
Li et al. A simple bridging model for high-performance computing
Ashraf et al. AAP4All: An Adaptive Auto Parallelization of Serial Code for HPC Systems.
Xiao et al. Improving performance of transactional memory through machine learning
Deng et al. A synchronization optimization technique for openmp
Hum et al. Supporting a dynamic SPMD in a multi-threaded architecture
CN110262884B (zh) 一种基于申威众核处理器的核组内多程序多数据流分区并行的运行方法
Zmeev et al. Features of the Architecture Implementing the Dataflow Computational Model and Its Application in the Creation of Microelectronic High-Performance Computing Systems
Ranganath et al. Lc-memento: A memory model for accelerated architectures
Hiraki et al. Speculative execution model with duplication
Bu et al. Exploring parallelism in mibench with loop and procedure level speculation
Li et al. Extending synchronization constructs in openMP to exploit pipeline parallelism on heterogeneous multi-core
Singh Automatic parallelization using OpenMP API

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