首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到14条相似文献,搜索用时 140 毫秒
1.
神威太湖之光是最新一期Top500榜单上排名第一的超级计算机,峰值性能为125.4 PFlops,其计算能力主要归功于国产SW26010众核处理器。OpenFOAM(Open Source Field Operation and Manipulation)是计算流体力学领域使用最广泛的开源软件包,但是由于其基于C++实现,与神威太湖之光上的异构众核处理器SW26010的编译器不兼容,因此无法直接在该架构上有效运行。基于SW26010的主核/从核的体系架构移植了OpenFOAM的核心计算代码,并采用混合语言编程实现的方式来解决编译不兼容的问题。此外,通过寄存器通信、向量化和双缓冲等优化手段,单核组的性能较优化后的主核代码提高了8.03倍,较Intel(R) Xeon(R) CPU E5-2695 v3的串行执行性能提高了1.18倍。同时,将单核组的实现扩展到了神威太湖之光的大规模集群上,并进行了强可扩展性测试,256个核组上实现了184.9倍的加速。采用的移植方式和优化手段也可以为其他复杂C++程序在神威太湖之光上的应用提供借鉴。  相似文献   

2.
一种面向异构众核处理器的并行编译框架   总被引:1,自引:0,他引:1  
异构众核处理器是面向高性能计算领域处理器发展的重要趋势,但其更为复杂的体系结构使得编程难的问题更加突出.针对这一问题,基于开源编译器Open64,提出了一种面向异构众核处理器的并行编译框架,将程序自动转换为异构并行程序.该框架主要包括4个模块:任务划分模块用来识别适合进行加速计算的程序段,实现了嵌套循环的多维并行识别方法;数据布局模块完成数据在主存和SPM之间的布局,实现了数组边界分析和指针范围分析;传输优化模块实现了数据传输合并、传输外提、打包传输、数组转置等多种数据传输优化方法;收益评估模块在构建代价模型的基础上实现了一种动静结合的收益评估方法.并且,基于SW26010处理器,对该编译框架进行了实现,测试结果表明,该编译框架能够实现一些程序以面向异构众核结构的并行变换,且获得较好的加速效果.  相似文献   

3.
快速多极子方法(FMM)是一种求解N体问题的快速高效数值算法,在宇宙学和分子动力学等模拟中具有广泛的应用。申威SW26010是一款国产众核异构处理器,含260核心(4核组)。基于申威SW26010的众核架构设计和实现了快速多极子方法,并对核心函数(尤其是最耗时的粒子对相互作用)系统地进行了性能优化,包括异步DMA、SIMD向量化、循环展开、内联汇编指令调整等。以粒子对相互作用为例,优化后代码的计算速度约为主核上运行的原始代码的400倍,每个核组上的浮点性能达到250 GFLOPS,即理论峰值性能的32.5%。  相似文献   

4.
为发挥众核处理器性能优势及求解更大规模问题,针对大整数乘法在众核处理器上的并行化进行研究。在对笔算乘法和Comba乘法并行性进行分析的基础上,针对Comba乘法并行化时面临的负载均衡问题提出了多种解决方法;然后针对SW26010的结构特征,选择借鉴笔算乘法改进的Comba乘法,并且实现过程使用了向量化、寄存器通信等优化方法。测试结果说明改进后的并行Comba算法具有较好的并行性,能够很好地利用SW26010众核处理器的性能优势。  相似文献   

5.
张浩  花嵘 《计算机应用研究》2020,37(7):2022-2026
随着嵌入维数的增大,排列熵(permutation entropy,PE)算法的运算规模将会成倍增加,对计算的时效性提出了更高的要求。针对国际上首台计算性能超过100P的神威·太湖之光异构众核超级计算机,提出一种针对排列熵算法移植和并行化方法,核组之间基于MPI对相空间矩阵进行数据划分,核组内部基于OpenACC实现划分区域内部并行;然后针对SW26010众核处理器结构特征,调整减少主从核通信次数和消除原子操作,将排列熵算法成功移植并加速;最后通过大坝震荡数据进行测试。测试结果表明,该方法能够很好地发挥SW26010众核处理器加速优势,单核组性能较主核版本最高可获得7.18倍加速,同时在神威·太湖之光大规模集群上进行强可扩展性分析,128核组时最高实现了85.6倍的性能提升。  相似文献   

6.
矩阵乘作为许多科学应用中被频繁使用的关键部分,其计算量巨大且稠密的本质,使得高性能计算领域中矩阵乘并行算法的研究一直是经久不衰的热门话题.随着我国自主研发的申威众核处理器SW26010在科学计算和人工智能领域的快速发展,对面向SW26010众核处理器的高性能矩阵乘算法提出了迫切的需求.针对SW26010众核处理器的体系结构特征,首次对单精度矩阵乘实现进行了深入探讨,提出了3种不同存储层次的高性能并行算法.在进行算法设计时,计算方面,结合该处理器的从核双流水,从汇编层面手动控制核心计算任务的指令序列,保证了高效的指令级并行;访存方面,综合考虑了有限片上存储资源的有效使用,以及访存任务和计算任务的交叉并行,实现了计算访存的平衡以及算法整体性能的提升.实验结果显示,与该处理器上最先进的官方数学库xMath中的单精度矩阵乘实现相比,运行时峰值性能提升了6.8%,达到了理论峰值性能的86.17%;在基于不同矩阵乘场景的通用性比较中,95.33%的场景中性能更高,最高性能加速比达到247.9%,平均性能加速比为61.66%.  相似文献   

7.
申威众核片上多级存储层次是缓解众核“访存墙”的重要结构.完全由软件管理的SPM结构和片上RMA通信机制给应用性能提升带来很多机会,但也给应用程序开发优化与移植提出了很大挑战.为充分挖掘片上存储层次特点提升应用程序性能,同时减轻用户编程优化负担,本文提出了一种多级存储层次访存与通信融合的编译优化方法.该方法首先设计了融合编译指示,将程序高层信息传递给编译器.其次构建了编译优化收益模型并设计了启发式循环优化方案迭代求解框架,并由编译器完成循环优化方案的求解和优化代码的变换.通过编译生成的DMA和RMA批量数据传输操作,将较低存储层次空间中高访问延迟的核心数据批量缓冲进低访问延迟的更高存储层次空间中.在三个典型测试用例上进行了优化实验测试与分析,结果表明本文所提出的优化在性能上与手工优化相当,较未优化版程序性能有显著提升.  相似文献   

8.
磁流体动力学方程组被广泛应用于受控核聚变装置托卡马克、天体物理、磁流体发电等问题的研究中,其往往具有非线性、多尺度、多物理等特征,大规模数值难度较大.目前国际上对不可压缩流体问题的大规模数值求解主要采用全隐或半隐方法,但都是在同构的超级计算机而不是目前主流的异构众核系统上进行计算.论文面向国产神威"太湖之光"超级计算机,开展面向磁流体动力学方程组的异构众核全隐求解器研究.针对Newton-Krylov这类全隐求解器,提出了面向申威26010众核处理器的异构众核并行算法,并对其核心函数开展了众核并行和优化.对核心函数稀疏矩阵向量乘采用Matrix Free的方法来提升性能,对稀疏三角求解采用基于几何信息的异构众核并行算法,针对其访存密集的特点提出了存储格式、数据读取与计算依赖分离、核间寄存器通信等多种优化方法,对非线性残差计算等stencil类计算及10多个向量函数进行了异构众核并行,该异构众核并行算法可被其它应用软件重用.论文采用二维磁场重联问题进行测试,实验结果表明16进程时加速比可达13.6倍,能够支持高分辨率长时间模拟,并准确捕捉磁场重联现象.另外整体并行扩展性已经达到53万核,强可扩展性并行效率达到了33.8%,弱可扩展性并行效率达到了80.7%.  相似文献   

9.
异构众核架构具有超高的性能功耗比,已成为超级计算机体系结构的重要发展方向.但众核系统更为复杂的并行层次和存储层次,给编程和优化带来了极大的挑战,因此研究面向众核系统的并行编程技术,对于降低国产众核系统并行应用的编程难度、提升并行程序的性能都具有重要的意义.提出统一架构的多模式并行编程模型,包括异构融合的加速运算模型和按同构方式编程的自主运算模型,根据编程模型设计了Parallel C语言,能有效描述国产众核系统的异构并行性,与其它众核系统上MPI+X的使用模式相比,编程和系统优化都具有全局视角,在多级局部性描述、单边消息、兼容已有多核应用等方面具有特色;基于Open64构建了Parallel C编译系统,全面支持加速运算模型和自主运算模型,提出并实现了数据布局与自动DMA、编译指导的线程代理和拓扑位置感知的集合通信等优化.Micro Benchmark和实际应用在神威太湖之光计算机系统上的测试数据表明,Parallel C语言和编译系统具有良好的性能和可扩展性,能够有效支撑大型应用.  相似文献   

10.
BLAS (basic linear algebra subprograms)是最基本、最重要的底层数学库之一.在一个标准的BLAS库中,BLAS 3级函数涵盖的矩阵-矩阵运算尤为重要,在许多大规模科学与工程计算应用中被广泛调用.另外, BLAS 3级属于计算密集型函数,对充分发挥处理器的计算性能有至关重要的作用.针对国产SW26010-Pro处理器研究BLAS 3级函数的众核并行优化技术.具体而言,根据SW26010-Pro的存储层次结构,设计多级分块算法,挖掘矩阵运算的并行性.在此基础上,基于远程内存访问(remote memory access, RMA)机制设计数据共享策略,提高从核间的数据传输效率.进一步地,采用三缓冲、参数调优等方法对算法进行全面优化,隐藏直接内存访问(direct memory access, DMA)访存开销和RMA通信开销.此外,利用SW26010-Pro的两条硬件流水线和若干向量化计算/访存指令,还对BLAS 3级函数的矩阵-矩阵乘法、矩阵方程组求解、矩阵转置操作等若干运算进行手工汇编优化,提高了函数的浮点计算效率.实验结果显示,所提出的并行优化技术...  相似文献   

11.
BWDSP是针对高性能计算设计的一款新型的处理器, 采用多簇超长指令字体系结构和SIMD架构, 有丰富的指令集. 为充分利用BWDSP提供的向量化资源, 迫切需要提出一种向量化算法. 本文在open64基础上研究并实现了面向多簇超长指令字(VLIW)DSP的SIMD编译优化算法. 算法基于OPEN64的中间语言WHIRL, 能够充分地利用BWDSP丰富的硬件资源和向量化指令. 最终实验结果表明, 对于能够合成双字和单字的循环程序, 该优化算法能够平均取得6倍和4倍的加速比.  相似文献   

12.
Cao  Hao  Guo  Shaozhong  Hao  Jiangwei  Xia  Yuanyuan  Xu  Jinchen 《The Journal of supercomputing》2022,78(4):4827-4849
The Journal of Supercomputing - The SW26010 many-core processor is based on the Sunway architecture that is composed of management and computing processing elements (MPE and CPE, respectively),...  相似文献   

13.
针对CESM中的有限差分算法并行过程中存在内存读取冗余过大、通信开销过高的问题,设计出根据数据结构进行数据重构、计算核心捆绑、流水线通信等多种并行优化方案。弥补了申威26010处理器在数据读取过程中缺少共享缓存区、带宽利用率不高等不足,缓解了申威26010处理器在有限差分法求解过程的通信瓶颈。对CESM中以有限差分法为核心计算的两个函数,在申威26010众核处理器上的测试结果表明,提出算法及优化策略拥有21.2倍的性能提升。  相似文献   

14.
格子玻尔兹曼方法(Lattice Boltzmann Method,LBM)是一种基于介观模拟尺度的计算流体力学方法,已被广泛用于理论研究和工程领域。提高LBM计算流体软件的并行模拟能力,是高性能计算及应用研究中的一项重要内容。该研究基于“神威·太湖之光”超级计算系统,设计并实现了一套高效扩展的LBM计算流体力学软件。针对国产众核处理器SW26010的架构,文中设计了以下几种提高SWLBM方针速度和可扩展性的多级并行技术,包括面向19点stencil的数据复用、碰撞过程向量化、主从异步并行通信计算隐藏等。基于以上并行优化方案,文中测试了高达56000亿网格的数值模拟,SWLBM软件持续浮点计算性能达到4.7 PFlops,软件模拟速度提高了172倍。相比百万核心10000*10000*5000网格风场模拟,SWLBM整机千万核心的并行效率可达87%。测试结果表明,SWLBM有能力为工业应用提供实用的大规模并行模拟解决方案。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号