CN112346873A - 适应现代超级计算机硬件架构的特征线法多级并行方法 - Google Patents

适应现代超级计算机硬件架构的特征线法多级并行方法 Download PDF

Info

Publication number
CN112346873A
CN112346873A CN202011352373.7A CN202011352373A CN112346873A CN 112346873 A CN112346873 A CN 112346873A CN 202011352373 A CN202011352373 A CN 202011352373A CN 112346873 A CN112346873 A CN 112346873A
Authority
CN
China
Prior art keywords
characteristic line
parallel
angle
parallelism
energy
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
CN202011352373.7A
Other languages
English (en)
Other versions
CN112346873B (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.)
Nuclear Power Institute of China
Original Assignee
Nuclear Power Institute of China
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 Nuclear Power Institute of China filed Critical Nuclear Power Institute of China
Priority to CN202011352373.7A priority Critical patent/CN112346873B/zh
Publication of CN112346873A publication Critical patent/CN112346873A/zh
Application granted granted Critical
Publication of CN112346873B publication Critical patent/CN112346873B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了适应现代超级计算机硬件架构的特征线法多级并行方法,包括:对反应堆堆芯利用特征线MOC计算求解中子标通量分布和keff;特征线法MOC计算包括空间、角度、特征线、能量四个维度;将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过OpenMP模型展开多级嵌套循环实现;最后进行能群并行向量化处理,能量维度的并行度通过SIMD模型实现。本发明方法计算效率和超级计算资源的利用率。

Description

适应现代超级计算机硬件架构的特征线法多级并行方法
技术领域
本发明涉及核反应堆堆芯设计和反应堆物理数值计算领域,具体涉及适应现代超级计算机硬件架构的特征线法多级并行方法。
背景技术
作为核反应堆系统分析计算的基础,反应堆物理分析计算通过求解中子输运方程,获得堆芯反应性和全堆精细功率分布。三维中子输运方程的中子角通量包含7个因变量(空间3维、角度2维、能量1维、时间1维),精确的数值模拟非常困难。确定论输运计算方法主要有以下几类:1)球谐函数法(PN方法);2)离散纵标法(SN方法);3)碰撞概率法(CollisionProbability);4)特征线方法(Method of Characteristics,MOC)。和其它确定论输运方法相比,MOC方法兼具计算精度高、几何适应性好、能够精确处理各向异性散射、可并行维度多等优点,是最具潜力的全堆中子输运计算方法。然而,特征线方法(MOC方法)计算量较大、内存消耗较高,必须基于大规模并行计算技术。
由于CPU的功耗近似与主频的三次方成正比,无限制地依靠提高主频来提升性能已不可能。计算机正朝着向量化、多核化和集群化的方向不断前进。向量化是指使用一条指令同时操作多个数据;多核化是指在同一个芯片上集成多个计算核心;集群化是指通过高速通信网络连接多个计算节点,每个计算节点可包含“多路”多核处理器。当前,主流的超级计算机均采用向量化、多核化和集群化的硬件架构,分别对应着单指令多数据(SIMD)、共享内存(OpenMP)和消息传递(MPI)并行编程模型。
特征线方法(MOC方法)具有空间、角度、射线、能量等多个维度的并行度。如何将特征线方法(MOC方法)多维度的并行度映射到超级计算机复杂的硬件架构上,将极大地影响着超级计算机的性能发挥和MOC方法的计算效率。
发明内容
本发明所要解决的技术问题是现有的全堆中子输运计算方法MOC方法计算量较大、内存消耗较高,且MOC方法多维度并行度与超级计算机向量化、多核化和集群化复杂硬件架构不匹配的问题;本发明目的在于提供适应现代超级计算机硬件架构的特征线法多级并行方法,克服MOC方法多维度并行度与超级计算机向量化、多核化和集群化复杂硬件架构不匹配的问题,进而提高MOC方法的计算效率,提高超级计算资源的利用率。本发明方法对提高MOC方法的计算效率和超级计算资源的利用率具有十分重要的意义。
本发明通过下述技术方案实现:
适应现代超级计算机硬件架构的特征线法多级并行方法,包括:对反应堆堆芯利用特征线MOC计算将求解区域划分成细网格,每一个细网格只含一种材料,假设网格内部源项的空间分布已知,采用若干方向的致密特征线对被划分成细网格的求解区域进行射线追踪,求出特征射线与细网格的交点,并生成特征线段信息;进行三维输运计算,之后通过反复特征线扫描和内外迭代,得到中子标通量分布和keff;其中:
所述特征线法MOC计算包括空间、角度、特征线、能量四个维度,角度、特征线两个维度的并行度合并使用,空间维度、角度与特征线维度、能量维度均能够进行并行;将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;最后进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现。
工作原理是:基于现有的全堆中子输运计算方法MOC方法计算量较大、内存消耗较高,且MOC方法多维度并行度与超级计算机向量化、多核化和集群化复杂硬件架构不匹配的问题。本发明设计了一种适应现代超级计算机硬件架构的特征线法多级并行方法,将全部维度的并行度映射到超级计算机复杂的硬件架构上,进而提高MOC方法的计算效率,提高超级计算资源的利用率。具体地,本发明特征线法MOC计算包括空间、角度、特征线、能量四个维度,并将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;最后进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现。
本发明将MOC方法空间、角度、射线、能量等多个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上,进而提高MOC方法的计算效率和超级计算资源的利用率。
进一步地,所述进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;具体包括:
采用空间区域分解,将待求解反应堆堆芯分解成多个子区域;每一个子区域作为独立的问题映射到不同的进程上分别求解;根据角通量连续条件,子区域耦合通过点对点通信交换内边界角通量实现;中子标通量分布和keff求解和迭代收敛判断采用全局通信实现;空间区域分解并行通过MPI并行编程模型实现。
进一步地,所述基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;具体包括:
采用collapse语句展开多级嵌套循环,实现将不同的射线调度到不同的线程上执行扫描计算;为使各线程达到负载平衡,所述调度采用guided启发式任务调度方式。
进一步地,所述通过共享内存并行编程模型OpenMP展开多级嵌套循环实现,第一层循环是方位角循环,第二层循环是极角循环,第三层循环是特征射线循环,第四层循环是特征线段循环;其中,方位角循环、极角循环和特征射线循环三者并行计算。
进一步地,所述进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现;具体包括:
为重复利用特征线段信息并增加程序的缓存命中率,将能量循环置于嵌套循环的最内层,通过单指令多数据并行编程模型SIMD实现能量维度的并行度;利用OpenMP 4.0以上版本,通过SIMD编译制导语句指导编译器对能量循环进行向量化编译;为满足SIMD指令内存访问对变量地址内存对齐的要求,在变量申明时强制内存对齐以提高访存效率。
进一步地,所述中子标通量分布和keff中的中子角通量的求解表达式如下:
Figure BDA0002801680540000031
式中,φg,i为细网格i的g群平均标通量;ωm为方位角m的权重;ωn为极角n的权重;
Figure BDA0002801680540000032
为穿过细网格i的方向为m,n的全部特征线的集合;
Figure BDA0002801680540000033
为细网格i的方向m,n的g群平均角通量;Am,n为方向m,n的特征线所代表的面积;Vi为细网格i的体积;
Figure BDA0002801680540000034
为MOC细网格i的g群总截面;qg,i为网格i的g群源项分布。
本发明与现有技术相比,具有如下的优点和有益效果:
本发明基于MOC方法具有空间、角度、射线、能量等多个维度的并行度,现代超级计算机多采用向量化、多核化和集群化复杂硬件架构;本发明设计一种多级并行方法,综合采用MPI、OpenMP、SIMD并行编程模型,将MOC方法全部维度的并行度映射到超级计算机复杂的硬件架构上。和现有技术相比,本发明将能量维度映射到计算核心的SIMD扩展部件,实现MOC方法全部维度的并行度,与超级计算机复杂硬件架构完全匹配,进而提高MOC方法的计算效率,提高超级计算资源的利用率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明特征线方法基本原理示意图。
图2为现代超级计算机向量化、多核化、集群化硬件架构示意图。
图3为本发明MOC方法MPI、OpenMP、SIMD多级并行方法伪代码。
图4为本发明MOC方法MPI、OpenMP、SIMD多级并行方法示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
在以下描述中,为了提供对本发明的透彻理解阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、电路、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“一个实施例”、“实施例”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和、或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,在此提供的示图都是为了说明的目的,并且示图不一定是按比例绘制的。这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
在本发明的描述中,需要理解的是,术语“前”、“后”、“左”、“右”、“上”、“下”、“竖直”、“水平”、“高”、“低”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
实施例
如图1至图4所示,本发明适应现代超级计算机硬件架构的特征线法多级并行方法,包括:对反应堆堆芯利用特征线MOC计算将求解区域划分成细网格,每一个细网格只含一种材料,假设网格内部源项的空间分布已知,采用若干方向的致密特征线对被划分成细网格的求解区域进行射线追踪,求出特征射线与细网格的交点,并生成特征线段信息;进行三维输运计算,之后通过反复特征线扫描和内外迭代,得到中子标通量分布和keff;其中:
所述特征线法MOC计算包括空间、角度、特征线、能量四个维度,角度、特征线两个维度的并行度合并使用,空间维度、角度与特征线维度、能量维度均能够进行并行;将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;最后进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现。
(一)基本原理
如图1所示,特征线方法将求解区域划分成细网格,每一个细网格只含一种材料,假设网格内部源项的空间分布已知,采用若干方向的致密特征线对被划分成细网格的求解区域进行射线追踪,求出特征射线与细网格的交点,并生成特征线段信息。通过反复特征线扫描和内外迭代,得到中子通量分布和keff
式(1)为特征线形式的多群中子输运方程
Figure BDA0002801680540000051
式(1)中:
Figure BDA0002801680540000052
为中子角通量;g为能群标号;i为MOC细网格编号;t为特征线编号;m为方位角编号;n为极角编号;s为特征线坐标;
Figure BDA0002801680540000053
为MOC细网格i的g群总截面;qg,i为网格i的g群源项分布。
若采用平源近似,即假设
Figure BDA0002801680540000054
求解一阶常微分方程(1),得到特征线t穿过细网格i的出射角通量表达式(2)
Figure BDA0002801680540000055
式(2)中:
Figure BDA0002801680540000056
为方向为m,n的特征线t穿过细网格i的g群出射角通量;
Figure BDA0002801680540000057
为方向为m,n的特征线t进入细网格i的g群入射角通量;
Figure BDA0002801680540000058
为方向为m,n的特征线t穿过细网格i的特征线段长度。
在特征线段上积分取平均,得到特征线段的平均角通量
Figure BDA0002801680540000059
如式(3)(4)所示
Figure BDA00028016805400000510
Figure BDA00028016805400000511
式(3)(4)中:
Figure BDA0002801680540000061
为方向为m,n的特征线t穿过细网格i的角通量增量;
Figure BDA0002801680540000062
为方向为m,n的特征线t穿过细网格i的特征线段的g群平均角通量。
细网格i的方向m,n的g群平均角通量如式(5)所示。
Figure BDA0002801680540000063
式(5)中:
Figure BDA0002801680540000064
为穿过细网格i的方向为m,n的全部特征线的集合;
Figure BDA0002801680540000065
为细网格i的方向m,n的g群平均角通量;Am,n为方向m,n的特征线所代表的面积;Vi为细网格i的体积。
根据方向求积组的定义,式(6)表示细网格i的g群平均标通量:
Figure BDA0002801680540000066
式(6)中:φg,i为细网格i的g群平均标通量;ωm为方位角m的权重;ωn为极角n的权重
将式(3)(4)(5)代入式(6),得到适合编程实现的标通量表达式(7)。
Figure BDA0002801680540000067
式(1)~式(7)为MOC方法的基本方程,采用特征线扫描的方式遍历全部角度、全部特征线、全部特征线段和全部能群,可累积求得细网格标通量。求得全部细网格的标通量之后,即可采用内外迭代策略计算中子标通量分布和keff
由MOC方法的基本过程可知,不同角度、不同特征线、不同能群的扫描是相互独立的,即MOC方法天然地具有角度、特征线和能量三个维度的并行度。为了实现大规模并行计算,需要在角度、特征线和能量三个维度的并行度基础上,增加空间并行度。空间并行度只能通过空间区域分解获得。空间区域分解并行MOC方法中,整个问题区域被分解成多个子区域;每一个子区域作为独立的问题被映射到不同的进程上分别求解;根据角通量连续条件,子区域耦合通过交换内边界角通量实现,内边界角通量须通过反复迭代计算得到。因此,结合空间区域分解,MOC方法具有空间、角度、特征线、能量共四个维度的并行度。
现代超级计算机多采用向量化、多核化和集群化的硬件架构,如图2所示。向量化是指使用一条指令同时操作多个数据;多核化是指在同一个芯片上集成多个计算核心;集群化是指通过高速通信网络连接多个计算节点,每个计算节点可包含“多路”多核处理器。
向量化、多核化和集群化分别对应着单指令多数据(SIMD)、共享内存(OpenMP)和消息传递(MPI)并行编程模型。MPI(Message Passing Interface)是分布式内存环境下消息传递接口的业界标准,通信性能较高。MPI具有并行规模大的优点,但是需要在节点间进行通信以交换数据,会引入额外的通信开销。OpenMP(Open Multi-Processing)是共享内存系统编程的一个工业标准,由编译器指令、运行库和一些能够影响运行行为的环境变量三部分构成。OpenMP并行规模较小,但是在节点内部通过内存交换数据,可避免通信。SIMD(Single Instruction Multiple Data)采用单指令多数据扩展技术,将原来需要多次装载的内存中地址连续的数据一次性装载到向量寄存器中,通过一条SIMD扩展指令实现对向量寄存器中所有数据元素的并行处理。与标量运算单元相比,SIMD利用向量访存和向量运算,单个时钟周期内可处理更多数据。SIMD扩展部件只是在通用处理器上附加了一个功能部件,并行成本很低,与共享内存OpenMP和消息传递MPI并行编程模型相比,SIMD不需要增加同步和通信的开销。
(二)具体实施步骤
本发明MOC方法具有空间、角度、特征线、能量四个维度的并行度,现代超级计算机多采用向量化、多核化和集群化的硬件架构。本发明是一种适应现代超级计算机硬件架构的特征线法多级并行方法,综合应用SIMD、OpenMP、MPI并行编程模型,将MOC方法空间、角度、特征线、能量四个维度的并行度映射到超级计算机向量化、多核化、集群化的硬件架构上。结合图3图4,本发明具体实施步骤如下:
1)采用空间区域分解,将待求解堆芯分解成多个子区域;每一个子区域作为独立的问题映射到不同的进程上分别求解;根据角通量连续条件,子区域耦合通过点对点通信交换内边界角通量实现;中子标通量分布和keff求解和迭代收敛判断采用全局通信实现;空间区域分解并行通过消息传递并行编程模型MPI实现。
2)角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP实现;采用collapse语句展开多级嵌套循环,实现将不同的射线调度到不同的线程上执行扫描计算;为使各线程达到负载平衡,采用guided启发式任务调度方式。
3)为重复利用特征线段信息并增加程序的缓存命中率,将能量循环置于嵌套循环的最内层,通过SIMD编程模型实现能量维度的并行度;利用OpenMP 4.0以上版本,通过单指令多数据并行编程模型SIMD编译制导语句指导编译器对能量循环进行向量化编译;为满足单指令多数据并行编程模型SIMD指令内存访问对变量地址内存对齐的要求,在变量申明时强制内存对齐以提高访存效率。
本发明设计的适应现代超级计算机硬件架构的特征线法多级并行方法,将全部维度的并行度映射到超级计算机复杂的硬件架构上,进而提高MOC方法的计算效率,提高超级计算资源的利用率。具体地,本发明特征线法MOC计算包括空间、角度、特征线、能量四个维度,并将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;最后进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现。
本发明将MOC方法空间、角度、射线、能量等多个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上,进而提高MOC方法的计算效率和超级计算资源的利用率。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,包括:对反应堆堆芯利用特征线MOC计算将求解区域划分成细网格,每一个细网格只含一种材料,假设网格内部源项的空间分布已知,采用若干方向的致密特征线对被划分成细网格的求解区域进行射线追踪,求出特征射线与细网格的交点,并生成特征线段信息;进行三维输运计算,之后通过反复特征线扫描和内外迭代,得到中子标通量分布和keff;其中:
所述特征线法MOC计算包括空间、角度、特征线、能量四个维度,角度、特征线两个维度的并行度合并使用,空间维度、角度与特征线维度、能量维度均能够进行并行;将空间、角度、特征线、能量四个维度的并行度映射到现代超级计算机向量化、多核化和集群化复杂硬件架构上;首先进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;然后基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;最后进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现。
2.根据权利要求1所述的适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,所述进行空间区域分解,空间区域分解并行通过消息传递并行编程模型MPI并行编程模型实现;具体包括:
采用空间区域分解,将待求解反应堆堆芯分解成多个子区域;每一个子区域作为独立的问题映射到不同的进程上分别求解;根据角通量连续条件,子区域耦合通过点对点通信交换内边界角通量实现;中子标通量分布和keff求解和迭代收敛判断采用全局通信实现;空间区域分解并行通过MPI并行编程模型实现。
3.根据权利要求1所述的适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,所述基于空间区域分解再进行角度和特征线区域分解,角度、特征线两个维度的并行度合并使用,通过共享内存并行编程模型OpenMP展开多级嵌套循环实现;具体包括:
采用collapse语句展开多级嵌套循环,实现将不同的射线调度到不同的线程上执行扫描计算;所述调度采用guided启发式任务调度方式。
4.根据权利要求3所述的适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,所述通过共享内存并行编程模型OpenMP展开多级嵌套循环实现,第一层循环是方位角循环,第二层循环是极角循环,第三层循环是特征射线循环,第四层循环是特征线段循环;其中,方位角循环、极角循环和特征射线循环三者并行计算。
5.根据权利要求1所述的适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,所述进行能群并行向量化处理计算输出,能量维度的并行度通过单指令多数据并行编程模型SIMD实现;具体包括:
将能量循环置于嵌套循环的最内层,通过单指令多数据并行编程模型SIMD实现能量维度的并行度;利用OpenMP 4.0以上版本,通过SIMD编译制导语句指导编译器对能量循环进行向量化编译;在变量申明时强制内存对齐。
6.根据权利要求1所述的适应现代超级计算机硬件架构的特征线法多级并行方法,其特征在于,所述中子标通量分布和keff中的中子角通量求解表达式如下:
Figure FDA0002801680530000021
式中,φg,i为细网格i的g群平均标通量;ωm为方位角m的权重;ωn为极角n的权重;
Figure FDA0002801680530000022
为穿过细网格i的方向为m,n的全部特征线的集合;
Figure FDA0002801680530000023
为细网格i的方向m,n的g群平均角通量;Am,n为方向m,n的特征线所代表的面积;Vi为细网格i的体积;
Figure FDA0002801680530000024
为MOC细网格i的g群总截面;qg,i为网格i的g群源项分布。
CN202011352373.7A 2020-11-26 2020-11-26 适应现代超级计算机硬件架构的特征线法多级并行方法 Active CN112346873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011352373.7A CN112346873B (zh) 2020-11-26 2020-11-26 适应现代超级计算机硬件架构的特征线法多级并行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011352373.7A CN112346873B (zh) 2020-11-26 2020-11-26 适应现代超级计算机硬件架构的特征线法多级并行方法

Publications (2)

Publication Number Publication Date
CN112346873A true CN112346873A (zh) 2021-02-09
CN112346873B CN112346873B (zh) 2022-02-11

Family

ID=74364992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011352373.7A Active CN112346873B (zh) 2020-11-26 2020-11-26 适应现代超级计算机硬件架构的特征线法多级并行方法

Country Status (1)

Country Link
CN (1) CN112346873B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906271A (zh) * 2021-02-22 2021-06-04 中国核动力研究设计院 一种反应堆瞬态物理热工全耦合精细数值模拟方法及系统
CN113391932A (zh) * 2021-06-07 2021-09-14 北京科技大学 面向异构众核架构的并行特征线法输运扫描方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009042747A1 (en) * 2007-09-27 2009-04-02 Westinghouse Electric Company Llc Reactor dosimetry applications using a parallel 3-d radiation transport code
CN103116667A (zh) * 2013-01-24 2013-05-22 西安交通大学 一种获取聚变堆实验包层模块中子学参数的方法
CN103150424A (zh) * 2013-02-05 2013-06-12 西安交通大学 一种获取反应堆堆芯三维中子通量密度精细分布的方法
US20130166223A1 (en) * 2011-12-23 2013-06-27 Ge-Hitachi Nuclear Energy Americas Llc Methods, systems, and computer program products for generating fast neutron spectra
CN104461466A (zh) * 2013-09-25 2015-03-25 广州中国科学院软件应用技术研究所 基于MPI和OpenMP混合编程模型并行计算提高计算速度的方法
CN106096183A (zh) * 2016-06-24 2016-11-09 西安交通大学 一种基于特征线法的多重并行方法
CN110472187A (zh) * 2019-08-06 2019-11-19 中国原子能科学研究院 一种三维中子输运特征线法的负载均衡并行方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009042747A1 (en) * 2007-09-27 2009-04-02 Westinghouse Electric Company Llc Reactor dosimetry applications using a parallel 3-d radiation transport code
US20130166223A1 (en) * 2011-12-23 2013-06-27 Ge-Hitachi Nuclear Energy Americas Llc Methods, systems, and computer program products for generating fast neutron spectra
CN103116667A (zh) * 2013-01-24 2013-05-22 西安交通大学 一种获取聚变堆实验包层模块中子学参数的方法
CN103150424A (zh) * 2013-02-05 2013-06-12 西安交通大学 一种获取反应堆堆芯三维中子通量密度精细分布的方法
CN104461466A (zh) * 2013-09-25 2015-03-25 广州中国科学院软件应用技术研究所 基于MPI和OpenMP混合编程模型并行计算提高计算速度的方法
CN106096183A (zh) * 2016-06-24 2016-11-09 西安交通大学 一种基于特征线法的多重并行方法
CN110472187A (zh) * 2019-08-06 2019-11-19 中国原子能科学研究院 一种三维中子输运特征线法的负载均衡并行方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
吴文斌: "基于并行技术的2D/1D耦合三维全堆输运方法研究", 《中国博士学位论文全文数据库 工程科技II辑》 *
宋佩涛等: "CPU-GPU协同计算在MOC中子输运异构并行计算中的应用研究", 《核动力工程》 *
张知竹 等: "提高三维特征线方法计算速度的初步研究", 《核动力工程》 *
汤春桃 等: "中子输运方程的特征线解法及其加速方法的研究", 《第十二届反应堆数值计算与粒子输运学术会议论文集》 *
迟利华 等: "多群粒子输运问题在多核集群系统上的混合并行计算", 《计算机工程与科学》 *
郑勇: "矩阵特征线方法加速技术及三维中子输运计算方法研究", 《中国博士学位论文全文数据库 工程科技II辑》 *
马党伟 等: "NECP-X的多重并行策略及效率优化", 《原子能科学技术》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906271A (zh) * 2021-02-22 2021-06-04 中国核动力研究设计院 一种反应堆瞬态物理热工全耦合精细数值模拟方法及系统
CN113391932A (zh) * 2021-06-07 2021-09-14 北京科技大学 面向异构众核架构的并行特征线法输运扫描方法及装置
CN113391932B (zh) * 2021-06-07 2023-10-27 北京科技大学 面向异构众核架构的并行特征线法输运扫描方法及装置

Also Published As

Publication number Publication date
CN112346873B (zh) 2022-02-11

Similar Documents

Publication Publication Date Title
CN112346873B (zh) 适应现代超级计算机硬件架构的特征线法多级并行方法
Sakagami et al. 14.9 TFLOPS three-dimensional fluid simulation for fusion science with HPF on the Earth Simulator
Jespersen Acceleration of a CFD code with a GPU
Lei et al. Optimization and acceleration of flow simulations for CFD on CPU/GPU architecture
Moustafa et al. Shared memory parallelism for 3D Cartesian discrete ordinates solver
Huang et al. OpenArray v1. 0: a simple operator library for the decoupling of ocean modeling and parallel computing
Liu et al. Parallel reconstruction of neighbor-joining trees for large multiple sequence alignments using CUDA
Zeyao et al. Parallel flux sweep algorithm for neutron transport on unstructured grid
Blazewicz et al. CaKernel–a parallel application programming framework for heterogenous computing architectures
Raj et al. Acceleration of a 3D immersed boundary solver using OpenACC
Boyd III Massively parallel algorithms for method of characteristics neutral particle transport on shared memory computer architectures
Nomizu et al. Implementation of xcalablemp device acceleration extention with opencl
Xu et al. Balancing cpu-gpu collaborative high-order cfd simulations on the tianhe-1a supercomputer
Moustafa et al. 3D cartesian transport sweep for massively parallel architectures with PARSEC
Moustafa Massively parallel cartesian discrete ordinates method for neutron transport simulation
Stock et al. A GPU-accelerated boundary element method and vortex particle method
Fumero et al. accull: An user-directed approach to heterogeneous programming
Zola et al. Fast gpu parallel n-body tree traversal with simulated wide-warp
Machado et al. tinyMD: Mapping molecular dynamics simulations to heterogeneous hardware using partial evaluation
Li et al. Parallel algorithms for Earth observation coverage of satellites
Zhang et al. Accelerating lattice QCD on sunway many-core processor
Wang et al. Parallel 3D deterministic particle transport on Intel MIC architecture
Mikalsen Openacc-based snow simulation
Wang Optimization of Monte Carlo Neutron Transport Simulations with Emerging Architectures
Li et al. Building a domain-specific compiler for emerging processors with a reusable approach

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