【技术实现步骤摘要】
面向数值模拟的性能可移植加速方法
[0001]本专利技术涉及数据处理
,尤其涉及一种面向数值模拟的性能可移植加速方法。
技术介绍
[0002]异构众核架构的兴起,高性能处理器品类众多,高性能计算机体系架构更是出现了系统异构、节点异构、片上异构等多种结构。因此,不同的平台并行编程模型不同、编程接口各异,给上层高性能计算应用开发和适配提出了严峻的挑战。
[0003]为解决先进高性能计算平台上的“编程墙”问题,达到上层应用“一套代码、多平台加速”的性能可移植目的,提升上层应用的可维护性和保护开发投资,国内外相关组织和个人开展了一部分工作。矩阵无疑是对数值计算中典型数据结构较好的表示方法,例如非结构网格几何元素相关关系往往可以利用图拓扑邻接矩阵来表示,结构网格的stencil计算则可以用多对角的矩阵来表示。因此,以矩阵
‑
向量计算为主要形式,就可以较为统一地表示各种插值、积分、矩阵向量乘以及其它混合类型计算。更重要的是,矩阵
‑
向量计算模式封装了拓扑结构,从而可以实现不同硬件平台上特 ...
【技术保护点】
【技术特征摘要】
1.一种面向数值模拟的性能可移植加速方法,其特征在于,包括:硬件抽象:以存储架构体系为主,对硬件做内存RAM、多层级缓存cache抽象;数据结构抽象:以邻接矩阵为基准对象,设计多级数据结构;算法框架:所述算法框架分为预处理和计算两个阶段;所述预处理进行数据染色分段和数据排序处理;所述计算为执行算子计算的过程。2.如权利要求1所述的面向数值模拟的性能可移植加速方法,其特征在于,所述预处理:对参与计算的多级数据结构进行分段染色,根据分段染色结果对矩阵拓扑进行排序,包括对行、列、和条目的排序,使之满足目标MLC架构性能最大化和并发多线程互斥的要求,构建多级数据结构;所述计算:通过迭代器对多级数据结构的数据进行分析,统计参与的计算量,以MLC各层级cachesize为分段数据量上限,cacheline为分段数据量下限,选择多级数据结构中合适的分段层级;并发线程按照选定层级的分段和染色情况,进行数据缓存,分段边界数据以最低层级分段为单位缓存,然后执行计算。3.根据权利要求1所述的面向数值模拟的性能可移植加速方法,其特征在于,所述多级数据结构层级的第一级分段不小于最高级cacheline长度,数量为并发线程数的整数倍,一般选择2的正整数指数,排序要求按照段内、段间最小带宽重排排序,染色要求按照最少染色数量以提高并发度,依赖性以最小粒度分段是否重叠为依据;每色分段数量接近并发线程数的整数倍,保证负载均衡;递归多级分段不小于最高级cacheline长度,数量为2的正整数指数,一般为2,排序要求按照段内、段间最小带宽重排排序,染色要求按照最少染色数量以提高并发度,依赖性以最小粒度分段是否重叠为依据。4.根据权利要求3所述的面向数值模拟的性能可移植加速方法,其特征在于,分段算法采用高内聚分段方法,非结构网格邻接矩阵采用分图法,三维结构网格采用二维或者三维分块法。5.根据权利要求1所述的面向数值模拟的性能可移植加速方法,其特征在于...
【专利技术属性】
技术研发人员:任虎,高飞,周捍珑,刘明,赵程鹏,
申请(专利权)人:神工坊无锡数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。