-
公开(公告)号:CN106933777B
公开(公告)日:2019-03-19
申请号:CN201710150446.6
申请日:2017-03-14
Applicant: 中国科学院软件研究所 , 无锡江南计算技术研究所
IPC: G06F17/14
Abstract: 本发明提出一种基于国产申威26010处理器的基2一维FFT的高性能实现方法,基于国产处理器申威26010平台,设计从核内行或列寄存器通信机制、访存‑计算重叠的双缓冲机制和256位单指令流多数据流的向量化运算等多种优化技术,同时提出基于两层分解的Stockham FFT计算框架且分解规则为库利‑图基算法,设计“接口层‑主核层‑从核层‑核心层”的四层结构框架进行基2一维FFT计算,从而有效解决FFT计算的访存带宽受限问题,有效提升基2一维FFT计算性能。与开源FFTW库相比,基于本平台的基2一维FFT计算性能急剧升高,以FFT计算的每秒浮点运算次数为例,其平均加速比为34.4,最高加速比达到50.3。
-
公开(公告)号:CN106933777A
公开(公告)日:2017-07-07
申请号:CN201710150446.6
申请日:2017-03-14
Applicant: 中国科学院软件研究所 , 无锡江南计算技术研究所
IPC: G06F17/14
CPC classification number: G06F17/142
Abstract: 本发明提出一种基于国产申威26010处理器的基2一维FFT的高性能实现方法,基于国产处理器申威26010平台,设计从核内行或列寄存器通信机制、访存‑计算重叠的双缓冲机制和256位单指令流多数据流的向量化运算等多种优化技术,同时提出基于两层分解的Stockham FFT计算框架且分解规则为库利‑图基算法,设计“接口层‑主核层‑从核层‑核心层”的四层结构框架进行基2一维FFT计算,从而有效解决FFT计算的访存带宽受限问题,有效提升基2一维FFT计算性能。与开源FFTW库相比,基于本平台的基2一维FFT计算性能急剧升高,以FFT计算的每秒浮点运算次数为例,其平均加速比为34.4,最高加速比达到50.3。
-
公开(公告)号: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算法的迭代求解,得到稀疏线性方程组的解即为大气动力学模拟结果。本发明减少了大气动力学模拟软件中稀疏线性方程组的求解时间。
-
公开(公告)号: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。
-
公开(公告)号:CN107451097B
公开(公告)日:2020-02-11
申请号: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。
-
公开(公告)号:CN104699449B
公开(公告)日:2017-09-29
申请号:CN201510156109.9
申请日:2015-04-03
Applicant: 中国科学院软件研究所
IPC: G06F7/50
Abstract: 本发明涉及一种基于GMP的大整数加法和减法多核并行化实现方法,首先借助于临时数组来解决加法或减法操作产生的进位或借位带来的数据相关性问题,然后采用将迭代循环for中的运算进行任务划分,基于OpenMP多线程编程实现,使用动态调度策略,多线程并行求取各区域的计算任务的策略解决负载不均衡问题。本发明能借助多核平台,通过充分利用多核条件提高运行速度,在实际应用中有着十分重要的作用。
-
公开(公告)号:CN104793922A
公开(公告)日:2015-07-22
申请号:CN201510220528.4
申请日:2015-05-04
Applicant: 中国科学院软件研究所
Abstract: 本发明公开了一种大整数乘法Comba算法基于OpenMP的并行实现方法,基于64位无符号长整型整数操作,通过添加三个临时数组存储加乘操作计算得到的中间结果,从而解决加乘运算与进位运算的数据相关性,将加乘操作与进位操作分开执行。在加乘操作阶段,基于中间结果每个数位求取时的计算独立性,通过OpenMP多线程编程采用动态调度策略实现加乘操作阶段的并行化,而进位阶段仍然串行执行来并行化Comba算法,提高算法效率。
-
公开(公告)号:CN105808309B
公开(公告)日:2019-04-05
申请号:CN201610130123.6
申请日:2016-03-08
Applicant: 中国科学院软件研究所
Abstract: 本发明提出了一种基于申威平台的基础线性代数库BLAS三级函数GEMM的高性能实现方法,针对国产申威SW1600平台,采用“interface接口‑driver驱动‑kernel汇编核心代码”的三层代码设计框架,使用乘加指令、循环展开、软件流水线指令重排、SIMD向量化运算、寄存器分块技术等与平台架构相关的技术手段,实现汇编级手工优化,解决了编译器针对计算密集型函数GEMM优化不足的问题,大幅提升函数性能,与开源BLAS数学库GotoBLAS相较,平均加速比为4.72,最高加速比为5.61。
-
公开(公告)号:CN104731563A
公开(公告)日:2015-06-24
申请号:CN201510157957.1
申请日:2015-04-03
Applicant: 中国科学院软件研究所
Abstract: 一种基于FFT的大整数乘法SSA算法多核并行化实现方法,其是从细粒度的角度对大整数乘法SSA算法进行多核并行优化,其核心是对利用SSA算法求取负循环卷积的四个核心计算过程分别进行并行设计,即分别对分解、FFT正变换、点乘和FFT逆变换四个计算过程进行优化。本发明充分利用硬件的多核资源,提高运行速度,在实际应用中有着十分重要的作用。
-
-
-
-
-
-
-
-
-