数学库函数算法的特性致使函数存在大量的访存,而当前异构众核的从核结构采用共享主存的方式实现数据访问,从而严重影响了从核的访存速度,因此异构众核结构中数学库函数的性能无法满足高性能计算的要求。为了有效解决此问题,提出了一种...数学库函数算法的特性致使函数存在大量的访存,而当前异构众核的从核结构采用共享主存的方式实现数据访问,从而严重影响了从核的访存速度,因此异构众核结构中数学库函数的性能无法满足高性能计算的要求。为了有效解决此问题,提出了一种基于访存指令的调度策略,亦即将访存延迟有效地隐藏于计算延迟中,以提高基于汇编实现的数学函数库的函数性能;结合动态调用方式,利用从核本地局部数据存储空间LDM(local data memory),提出了一种提高访存速度的ldm_call算法。两种优化技术在共享存储结构下具有普遍适用性,并能够有效减少函数访存开销,提高访存速度。实验表明,两种技术分别能够平均提高函数性能16.08%和37.32%。展开更多
Gauss-Seidel算法作为线性方程组的求解器,在并行计算领域具有广泛应用,而面向异构众核架构开发其细粒度并行性一直是具有挑战性的问题.针对非结构网格问题,基于代数分块并行思路提出了面向异构众核架构的块Gauss-Seidel/Jacobi算法,将...Gauss-Seidel算法作为线性方程组的求解器,在并行计算领域具有广泛应用,而面向异构众核架构开发其细粒度并行性一直是具有挑战性的问题.针对非结构网格问题,基于代数分块并行思路提出了面向异构众核架构的块Gauss-Seidel/Jacobi算法,将其作为区域分解算法的子区域求解器.面向神威太湖之光超级计算机的异构众核架构,设计并实现了该算法.为充分利用神威太湖之光国产SW26010芯片中每个CPE拥有的高速LDM(Local Data Memory),缓解通信瓶颈,设计了多行块通信打包、计算与通信重叠性能优化策略和丢弃非关键元素的低通信复杂性数值优化方法.数值实验结果显示,相较于串行Gauss-Seidel算法,优化后的块Gauss-Seidel/Jacobi算法预处理过程加速比最高可达到4.16倍.以1040核的测试数据为基准,在处理器核数达到33280时,块Gauss-Seidel/Jacobi预条件算法的并行效率达到61%.展开更多
文摘数学库函数算法的特性致使函数存在大量的访存,而当前异构众核的从核结构采用共享主存的方式实现数据访问,从而严重影响了从核的访存速度,因此异构众核结构中数学库函数的性能无法满足高性能计算的要求。为了有效解决此问题,提出了一种基于访存指令的调度策略,亦即将访存延迟有效地隐藏于计算延迟中,以提高基于汇编实现的数学函数库的函数性能;结合动态调用方式,利用从核本地局部数据存储空间LDM(local data memory),提出了一种提高访存速度的ldm_call算法。两种优化技术在共享存储结构下具有普遍适用性,并能够有效减少函数访存开销,提高访存速度。实验表明,两种技术分别能够平均提高函数性能16.08%和37.32%。
文摘Gauss-Seidel算法作为线性方程组的求解器,在并行计算领域具有广泛应用,而面向异构众核架构开发其细粒度并行性一直是具有挑战性的问题.针对非结构网格问题,基于代数分块并行思路提出了面向异构众核架构的块Gauss-Seidel/Jacobi算法,将其作为区域分解算法的子区域求解器.面向神威太湖之光超级计算机的异构众核架构,设计并实现了该算法.为充分利用神威太湖之光国产SW26010芯片中每个CPE拥有的高速LDM(Local Data Memory),缓解通信瓶颈,设计了多行块通信打包、计算与通信重叠性能优化策略和丢弃非关键元素的低通信复杂性数值优化方法.数值实验结果显示,相较于串行Gauss-Seidel算法,优化后的块Gauss-Seidel/Jacobi算法预处理过程加速比最高可达到4.16倍.以1040核的测试数据为基准,在处理器核数达到33280时,块Gauss-Seidel/Jacobi预条件算法的并行效率达到61%.
文摘顺序任务流(sequential task flow,STF)将对共享数据的访问表示为任务之间的依赖关系,STF运行时系统通过任务构造、依赖分析和任务依赖图(task dependence graph,TDG)生成、任务调度实现异步并行,这3个环节的开销直接影响并行程序的性能.目前以STF为核心的AceMesh运行时系统,在SW39000处理器上仅使用单主核构图、多从核执行的方式.然而,SW39000处理器离散访存性能较弱,细粒度任务构图离散访存增多,构图更容易成为瓶颈.对此,提出了一种利用多从核辅助主核进行构图的算法.首先,分析在依赖分析和TDG生成过程中的并行性,在SW39000处理器上实现了一种基于胖任务依赖图(fatTDG)的多核辅助并行构图算法PFBH(parallelized fatTDG building algorithm with helpers)并进行优化.其次,针对线程间的主存资源竞争问题,提出构图与执行并行中从核资源调节方法及参数选择.最终,在5类典型应用下进行实验测试.与单核串行构图系统相比,在细粒度任务场景下最高加速为1.75倍;与SW39000处理器上的OpenACC模型相比,AceMesh最高可达2倍加速.