[发明专利]一种适应于“神威·太湖之光”上HPCG优化的数据结构及其高效实现方法有效
申请号: | 201710353362.2 | 申请日: | 2017-05-18 |
公开(公告)号: | CN107273094B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 敖玉龙;杨超;刘芳芳;尹万旺;魏迪;袁欣辉;蒋丽娟 | 申请(专利权)人: | 中国科学院软件研究所;无锡江南计算技术研究所 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/32;G06F9/38;G06F17/16 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 杨学明;顾炜 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适应 神威 太湖 hpcg 优化 数据结构 及其 高效 实现 方法 | ||
1.一种适应于“神威·太湖之光”上HPCG优化的数据结构,其特征在于:所述数据结构为自定义数据结构,所述自定义数据结构包括:经典ELL格式中的矩阵值vals数组和对应索引idx数组,利用额外的对角线元素diags数组来存放矩阵的对角线元素,还提供了分块着色相关和进程通信相关的数据结构,其中color_reordering存放分块着色之后新的块行顺序,color_info记录每种颜色的块行数量和位置;element_send标识当前进程向其他邻居进程所发送数据的位置信息,element_recv标识当前进程接受来自于其他邻居进程所数据所存放的位置信息;最后,为了减少直接访问主存的次数和支持计算过程中使用寄存器通信机制,分别增加了进程内索引到块内索引转换的数据结构loc2blk和外区索引向量的位置映射数据结构pos,通过使用该自定义数据结构,能够在国产申威众核平台上实现HPCG的高效并行计算。
2.一种适应于“神威·太湖之光”上HPCG优化的数据结构高效实现方法,其特征在于实现步骤如下:
第一步,前处理过程,基于矩阵中非零元素的依赖图,在主核上串行的对矩阵进行分块着色相关的重排序操作,构建color_reordering和color_info数据结构;其中color_reordering存放分块着色之后分块的行顺序,color_info记录每种颜色分块的行数量和位置,得到分块着色结果;
第二步,中间处理过程,基于前处理中的分块着色结果,对矩阵值vals数组、对应索引idx数组和对角线元素diags数组实现对应的重排序;同时,对索引idx数组进行块内索引转换,并实时将进程内索引与块内索引转换关系记录到loc2blk数据结构中;关于外区索引向量位置映射的pos数组,是伴随着索引转换过程进行动态构建,该索引转换过程使用从核组资源进行平行处理;
第三步,后处理过程,根据第一步和第二步的结果,基于分块着色的矩阵数据结构来构建新的进程通信相关的数据结构element_send和element_recv。
3.根据权利要求2所述的一种适应于“神威·太湖之光”上HPCG优化的数据结构高效实现方法,其特征在于:所述第二步中,索引转换过程为:对于索引内区向量的进程内索引,通过取模运算获取块内索引;对于索引外区向量的进程内索引,通过map类型的数据结构loc2blk,来记录和确定进程内索引到块内索引的转换关系。
4.根据权利要求2所述的一种适应于“神威·太湖之光”上HPCG优化的数据结构高效实现方法,其特征在于:所述第二步中,外区索引向量位置映射pos数组构建过程为:该pos数组的每个元素包括了对应的外区索引向量所在的从核编号以及在该从核上的具体偏移量,并通过位运算合并为一个整型。
5.根据权利要求2所述的一种适应于“神威·太湖之光”上HPCG优化的数据结构高效实现方法,其特征在于:所述第二步中,中间过程使用从核组资源进行平行处理过程:使用申威众核平台的Athread多线程库,依据“块行-行-列”三重循环顺序,对自定义数据结构的中间处理过程进行从核并行,计算任务均衡的分配到64个从核,并混合使用直接和DMA访主存的方式。
6.根据权利要求2所述的一种适应于“神威·太湖之光”上HPCG优化的数据结构高效实现方法,其特征在于:所述第三步中,基于分块着色的矩阵数据结构来构建新的进程通信相关的数据结构element_send和element_recv的过程为:同时遍历发送和接受数据所对应的进程内索引位置,对于其中每个进程内索引位置,依据第一步前处理使用的分块规则计算每种颜色分块后的块号,并利用进程内索引与块内索引转换关系的loc2blk数据结构,获取对应的块内索引位置,然后合并块号和块内索引,构成用来标识发送数据索引位置的element_send数组和标识接受数据索引位置的element_recv数组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;无锡江南计算技术研究所,未经中国科学院软件研究所;无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710353362.2/1.html,转载请声明来源钻瓜专利网。