一种大整数乘法Karatsuba算法的并行实现方法

    公开(公告)号:CN105653239B

    公开(公告)日:2018-06-22

    申请号:CN201510996000.6

    申请日:2015-12-25

    Abstract: 本发明公开了一种大整数乘法Karatsuba算法的并行实现方法,基于64位无符号长整型整数操作,通过巧妙的公式转换技巧,指针运算以及存储方式,以解决部分积存储与计算的相关性问题,通过OpenMP多线程编程,采用section任务分担策略将算法进行并行化,从而开启8个线程在递归程序的第一层并行求取8个部分积,每个section负责一个部分积的计算任务,待部分积均求取完毕后进行串行归并,从而并行化Karatsuba算法,提高算法效率。

    国产申威26010众核CPU上GEMM稠密矩阵乘高性能实现方法

    公开(公告)号:CN107168683A

    公开(公告)日:2017-09-15

    申请号:CN201710310445.3

    申请日:2017-05-05

    Abstract: 本发明公开了国产申威26010众核CPU上GEMM稠密矩阵乘高性能实现方法,针对国产申威众核处理器26010,并基于存储结构、访存、硬件流水线以及寄存器级通信机制等平台特性,优化矩阵分块与核间数据映射方法,设计了自顶向下的三级分块并行块矩阵乘算法,基于寄存器级通信机制设计从核计算资源数据共享方法,并利用主从核间异步DMA数据传输机制,设计了计算与访存重叠的双缓冲策略,在单个从核上,设计了循环展开策略与软件流水线排布方法,使用了高效的寄存器分块模式以及SIMD向量化乘加指令,实现函数优化。该高性能GEMM函数性能与单核开源BLAS数学库GotoBLAS相比,平均加速比为227.94,最高加速比为296.93。

    一种大整数乘法Comba算法基于OpenMP的并行实现方法

    公开(公告)号:CN104793922B

    公开(公告)日:2017-08-25

    申请号:CN201510220528.4

    申请日:2015-05-04

    Abstract: 本发明公开了一种大整数乘法Comba算法基于OpenMP的并行实现方法,基于64位无符号长整型整数操作,通过添加三个临时数组存储加乘操作计算得到的中间结果,从而解决加乘运算与进位运算的数据相关性,将加乘操作与进位操作分开执行。在加乘操作阶段,基于中间结果每个数位求取时的计算独立性,通过OpenMP多线程编程采用动态调度策略实现加乘操作阶段的并行化,而进位阶段仍然串行执行来并行化Comba算法,提高算法效率。

    申威26010众核CPU上GEMM稠密矩阵乘高性能实现方法

    公开(公告)号:CN107168683B

    公开(公告)日:2020-06-09

    申请号:CN201710310445.3

    申请日:2017-05-05

    Abstract: 本发明公开了申威26010众核CPU上GEMM稠密矩阵乘高性能实现方法,针对申威众核处理器26010,并基于存储结构、访存、硬件流水线以及寄存器级通信机制等平台特性,优化矩阵分块与核间数据映射方法,设计了自顶向下的三级分块并行块矩阵乘算法,基于寄存器级通信机制设计从核计算资源数据共享方法,并利用主从核间异步DMA数据传输机制,设计了计算与访存重叠的双缓冲策略,在单个从核上,设计了循环展开策略与软件流水线排布方法,使用了高效的寄存器分块模式以及SIMD向量化乘加指令,实现函数优化。该高性能GEMM函数性能与单核开源BLAS数学库GotoBLAS相比,平均加速比为227.94,最高加速比为296.93。

    一种基于GMP的大整数加法和减法多核并行化实现方法

    公开(公告)号:CN104699449A

    公开(公告)日:2015-06-10

    申请号:CN201510156109.9

    申请日:2015-04-03

    Abstract: 本发明涉及一种基于GMP的大整数加法和减法多核并行化实现方法,首先借助于临时数组来解决加法或减法操作产生的进位或借位带来的数据相关性问题,然后采用将迭代循环for中的运算进行任务划分,基于OpenMP多线程编程实现,使用动态调度策略,多线程并行求取各区域的计算任务的策略解决负载不均衡问题。本发明能借助多核平台,通过充分利用多核条件提高运行速度,在实际应用中有着十分重要的作用。

    一种基于GMP的大整数加法和减法多核并行化实现方法

    公开(公告)号:CN104699449B

    公开(公告)日:2017-09-29

    申请号:CN201510156109.9

    申请日:2015-04-03

    Abstract: 本发明涉及一种基于GMP的大整数加法和减法多核并行化实现方法,首先借助于临时数组来解决加法或减法操作产生的进位或借位带来的数据相关性问题,然后采用将迭代循环for中的运算进行任务划分,基于OpenMP多线程编程实现,使用动态调度策略,多线程并行求取各区域的计算任务的策略解决负载不均衡问题。本发明能借助多核平台,通过充分利用多核条件提高运行速度,在实际应用中有着十分重要的作用。

    一种大整数乘法Comba算法基于OpenMP的并行实现方法

    公开(公告)号:CN104793922A

    公开(公告)日:2015-07-22

    申请号:CN201510220528.4

    申请日:2015-05-04

    Abstract: 本发明公开了一种大整数乘法Comba算法基于OpenMP的并行实现方法,基于64位无符号长整型整数操作,通过添加三个临时数组存储加乘操作计算得到的中间结果,从而解决加乘运算与进位运算的数据相关性,将加乘操作与进位操作分开执行。在加乘操作阶段,基于中间结果每个数位求取时的计算独立性,通过OpenMP多线程编程采用动态调度策略实现加乘操作阶段的并行化,而进位阶段仍然串行执行来并行化Comba算法,提高算法效率。

Patent Agency Ranking