-
公开(公告)号:CN113849771B
公开(公告)日:2025-02-18
申请号:CN202111192491.0
申请日:2021-10-13
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种面向SW39000处理器的稠密矩阵乘法的高性能实现方法,包括:在主内存级别分别对非转置矩阵A、非转置矩阵B与问题矩阵C进行任务分块,产生若干的子矩阵δAil、子矩阵δBlj与子矩阵δCij;当子矩阵δCij更新时,在从核阵列的LDM级别分别对子矩阵δCij、子矩阵δAil及子矩阵δBlj进行任务分块,将产生的子块εCuv、子块εAuw及子块εBwv映射至相应的从核;将子矩阵δAil的第t个列块与子矩阵δBlj的第t个行块相乘,生成矩阵δCt;基于子矩阵δCij与各矩阵δCt,更新主内存中的子矩阵δCij,以得到问题矩阵C的输出结果。本发明通过在主内存、从核的LDM以及寄存器上的合理数据布局,充分挖掘从核阵列的并行计算能力,使用了三重缓冲技术隐藏了DMA访存开销和RMA通信开销,使用了指令重排技术提高了GEMM的浮点计算效率。
-
公开(公告)号:CN116522820A
公开(公告)日:2023-08-01
申请号:CN202310519297.1
申请日:2023-05-10
Applicant: 中国科学院软件研究所
IPC: G06F30/28 , G06F17/12 , G06F17/16 , G06F113/08 , G06F119/14
Abstract: 本发明公开了一种适用于大气动力学模拟的混合精度实现方法及装置,所述方法包括:生成稀疏线性方程组的右端项,并设置迭代初始猜测解;其中,所述稀疏线性方程组是基于大气动力学模拟中的可压缩欧拉方程组生成;使用双精度在各个进程分别生成稀疏矩阵,并将所述稀疏矩阵转换为单精度后,传回主存;从主存得到稀疏矩阵,并在从核组上使用单精度进行ILU分解,以得到ILU预条件子;其中,所述ILU预条件子包括:稀疏下三角和稀疏上三角,所述稀疏上三角中包含所述稀疏矩阵的对角部分;利用改进稀疏三角求解实现方法进行GCR算法的迭代求解,得到稀疏线性方程组的解即为大气动力学模拟结果。本发明减少了大气动力学模拟软件中稀疏线性方程组的求解时间。
-
公开(公告)号:CN113704691B
公开(公告)日:2023-04-25
申请号:CN202110988799.X
申请日:2021-08-26
Applicant: 中国科学院软件研究所
IPC: G06F17/16
Abstract: 本发明公开了一种申威众核处理器的小规模对称矩阵并行三对角化方法,其步骤包括:1)对待处理的对称矩阵进行二维划分,得到多个子块;每个从核负责处理一个对应子块;2)对于该从核组中的每一列从核,第i列从核对其LDM空间中存储的列数据进行householder变换,并计算参数tau及向量v;将向量v存储到第i列从核的每一从核LDM空间中,并调用swblas提供的列规约函数计算对应列向量的2范数;3)该从核组产生用于对该对称矩阵更新的向量w;4)该从核组根据向量w和向量v对该对称矩阵进行秩2更新;5)对该对称矩阵的每一列重复进行步骤2)到步骤4),完成该对称矩阵三对角化。
-
公开(公告)号:CN113704691A
公开(公告)日:2021-11-26
申请号:CN202110988799.X
申请日:2021-08-26
Applicant: 中国科学院软件研究所
IPC: G06F17/16
Abstract: 本发明公开了一种申威众核处理器的小规模对称矩阵并行三对角化方法,其步骤包括:1)对待处理的对称矩阵进行二维划分,得到多个子块;每个从核负责处理一个对应子块;2)对于该从核组中的每一列从核,第i列从核对其LDM空间中存储的列数据进行householder变换,并计算参数tau及向量v;将向量v存储到第i列从核的每一从核LDM空间中,并调用swblas提供的列规约函数计算对应列向量的2范数;3)该从核组产生用于对该对称矩阵更新的向量w;4)该从核组根据向量w和向量v对该对称矩阵进行秩2更新;5)对该对称矩阵的每一列重复进行步骤2)到步骤4),完成该对称矩阵三对角化。
-
公开(公告)号:CN113297537A
公开(公告)日:2021-08-24
申请号:CN202110623380.4
申请日:2021-06-04
Applicant: 中国科学院软件研究所
Abstract: 本发明公开一种面向GPU平台的稀疏结构化三角方程组求解的高性能实现方法和装置。本发明针对结构化问题的特点提出了一种改进的线程资源分配策略,有效改善了现有方法资源分配不均衡的问题。本发明还结合当今主流商用GPU的架构特点,利用硬件谓词执行等一系列手段,提供一套该算法的高效实现方法。本发明提供的算法框架处理规则结构化问题的性能大幅优于目前商用以及尚处研究阶段的框架。
-
公开(公告)号:CN110942504B
公开(公告)日:2021-07-27
申请号:CN201911047165.3
申请日:2019-10-30
Applicant: 中国科学院软件研究所
IPC: G06T15/00
Abstract: 本发明公开一种众核平台上面向规则网格问题的结构化着色方法,包括如下步骤:步骤一、依赖特性分析:对按照stencil模板格式生成的计算问题中的各计算任务之间的依赖特性进行分析,包括依赖传递特性分析和强弱依赖方向分析;步骤二、参数搜索:根据依赖特性分析结果,使用四种参数搜索模式进行最优的着色规则参数搜索;步骤三、计算任务划分:根据最优的着色规则参数为每个计算任务着色,并将相同颜色的计算任务分为一组,不同颜色的计算任务分为不同组,总的颜色数即为计算任务的总的划分组数,完成计算任务的划分;本发明保证了在相同颜色数的限制下,保留更多的核心依赖关系,从而有效减少了计算的整体迭代次数,并提高了着色质量。
-
公开(公告)号:CN105653239B
公开(公告)日:2018-06-22
申请号:CN201510996000.6
申请日:2015-12-25
Applicant: 中国科学院软件研究所
IPC: G06F7/53
Abstract: 本发明公开了一种大整数乘法Karatsuba算法的并行实现方法,基于64位无符号长整型整数操作,通过巧妙的公式转换技巧,指针运算以及存储方式,以解决部分积存储与计算的相关性问题,通过OpenMP多线程编程,采用section任务分担策略将算法进行并行化,从而开启8个线程在递归程序的第一层并行求取8个部分积,每个section负责一个部分积的计算任务,待部分积均求取完毕后进行串行归并,从而并行化Karatsuba算法,提高算法效率。
-
公开(公告)号:CN107451097A
公开(公告)日:2017-12-08
申请号:CN201710658700.3
申请日:2017-08-04
Applicant: 中国科学院软件研究所
IPC: G06F17/14
Abstract: 本发明提出一种国产申威26010众核处理器上多维FFT的高性能实现方法,基于国产处理器申威26010平台,将两层分解的一维FFT的求解算法,有效应用于多维FFT计算,并设计带输入输出跨度的FFT、多行一维FFT和多列一维FFT及其对应的2的幂次和非2的幂次等多种FFT类型,以提升多维FFT运算性能。与开源FFTW库相比,基于本平台的多维FFT计算性能急剧升高,其平均加速比为22.283,最高加速比达到30.340。
-
公开(公告)号:CN106775594A
公开(公告)日:2017-05-31
申请号:CN201710023923.2
申请日:2017-01-13
Applicant: 中国科学院软件研究所
IPC: G06F9/30
CPC classification number: G06F9/30007
Abstract: 本发明公开了一种基于国产申威26010处理器的稀疏矩阵向量乘异构众核实现方法,由于稀疏矩阵的非零元分布很不规则,该方法设计了静态、动态两种不同的任务划分方法,以适应不同的稀疏矩阵;提出了一套动静态的缓存机制,以提升向量x的访存命中率;提出了一套自适应的优化方法,针对输入的稀疏矩阵,可以动态选出最优的执行参数,以提升其运行性能。本发明采用Matrix Market矩阵集中的16个稀疏矩阵进行测试,相比国产申威处理器单主核运行版SpMV最高有10倍左右加速,平均加速比为6.51。
-
公开(公告)号:CN102141976B
公开(公告)日:2013-08-14
申请号:CN201110004075.3
申请日:2011-01-10
Applicant: 中国科学院软件研究所
IPC: G06F17/16
Abstract: 本发明公开一种稀疏矩阵的对角线数据存储方法及基于该方法的SpMV实现方法,存储方法为1)按行扫描稀疏矩阵A,以对角线编号表示非零元对角线的位置;2)以非零元对角线与矩阵A侧边的交点作水平线将矩阵A切分为多个子稀疏矩阵;3)按行顺序存储每个子稀疏矩阵中的非零元对角线上的元素到val数组。SpMV实现方法为:1)遍历稀疏矩阵,计算每个子稀疏矩阵的稀疏矩阵向量乘y=A1*x;2)合并所有子稀疏矩阵向量乘。本发明的数据存储方法不需要存储非零元的列索引,减小了存储空间需求和访存开销;对角线和x数组索引数组占用较小存储空间,降低了访存复杂度,计算所需的数据均为连续访问,使得编译器和硬件可以充分优化。
-
-
-
-
-
-
-
-
-