[发明专利]基于国产申威26010处理器的基2一维FFT的高性能实现方法有效
申请号: | 201710150446.6 | 申请日: | 2017-03-14 |
公开(公告)号: | CN106933777B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 张佳佳;杨超;尹万旺;赵玉文;魏迪;刘芳芳;袁欣辉 | 申请(专利权)人: | 中国科学院软件研究所;无锡江南计算技术研究所 |
主分类号: | G06F17/14 | 分类号: | G06F17/14 |
代理公司: | 北京科迪生专利代理有限责任公司 11251 | 代理人: | 杨学明;顾炜 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于国产申威26010处理器的基2一维FFT的高性能实现方法,基于国产处理器申威26010平台,设计从核内行或列寄存器通信机制、访存‑计算重叠的双缓冲机制和256位单指令流多数据流的向量化运算等多种优化技术,同时提出基于两层分解的Stockham FFT计算框架且分解规则为库利‑图基算法,设计“接口层‑主核层‑从核层‑核心层”的四层结构框架进行基2一维FFT计算,从而有效解决FFT计算的访存带宽受限问题,有效提升基2一维FFT计算性能。与开源FFTW库相比,基于本平台的基2一维FFT计算性能急剧升高,以FFT计算的每秒浮点运算次数为例,其平均加速比为34.4,最高加速比达到50.3。 | ||
搜索关键词: | 基于 国产 26010 处理器 fft 性能 实现 方法 | ||
【主权项】:
1.一种基于国产申威26010处理器的基2一维FFT的高性能实现方法,其特征在于:所述方法基于国产申威26010处理器的一个核组,所述核组由一个主核与64个从核组成,所述方法以接口层、主核层、从核层和核心层的四层结构框架进行FFT处理;接口层和主核层为主核上操作且操作输入输出数据存储于主核内存,从核层和核心层为从核上操作,且操作输入输出数据存储于从核局存LDM,即Local Direct Memory;具体实现如下:(1)接口层建立输入数据的描述符;所述描述符设置FFT计算的基本信息,所述基本信息包括FFT计算中输入序列的数据维度、数据规模、数据精度以及变换类型;所述数据维度为一维,所述数据规模为2的幂,所述数据精度包括64位双精度数据与32位单精度数据,所述变换类型为复数到复数的变换,即输入输出数据皆为复数;;(2)基于步骤(1)所述描述符信息,当输入数据规模N小于等于256时,主核层直接对输入序列进行FFT计算;当输入数据规模N大于等于512时,主核层设计基于两层分解的算法结构对输入序列进行分解,分解结果为多个小因子序列,小因子数据规模小于等于32,则输入序列的FFT计算转化为多个小因子序列的FFT计算,小因子序列的FFT计算在从核上执行;此外,不计输入数据规模N的大小,主核层负责FFT计算过程中所必需的旋转因子序列ωN的计算,
ωN为不同n,l数值下旋转因子
的统一表达方式,主核层直接计算数据为旋转因子![]()
n表示输入序列中数据的下标,l表示输出序列中数据的下标,下标即为序列中某一数据于序列中的位置序号;
存放于临时数组中,作用于核心层小因子序列的FFT计算;(3)主核上操作完毕之后,从核层发起DMA,即直接内存访问Direct Memory Access,读取主核内存数据至从核LDM中,然后从核对LDM数据进行小因子序列的FFT计算,最后DMA将从核LDM内的FFT计算结果写入主核内存;(4)根据步骤(3)所述的从核对LDM数据进行小因子序列的FFT计算,此计算操作由核心层完成,核心层基于256位SIMD进行向量化运算的小因子优化函数进行小因子序列的FFT计算;SIMD为单指令流多数据流,256位SIMD表示一条指令同时处理256位数据,即FFT计算粒度为256位向量数据;此外,各从核分别进行小因子序列的FFT计算,计算结果存储于各自的LDM中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;无锡江南计算技术研究所,未经中国科学院软件研究所;无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710150446.6/,转载请声明来源钻瓜专利网。