一种利用GPU加速FFT的方法技术

技术编号:8271382 阅读:443 留言:0更新日期:2013-01-31 03:36
本发明专利技术提供一种利用GPU加速FFT的方法,该方法利用GPU设备端快速计算的特点完成大批量数据的FFT变换,通过CPU主机端和GPU设备端的协调运作加速FFT变换过程,其方法架构包括CPU主机端和GPU设备端,其中主机端CPU根据单次FFT长度和FFT批处理次数,对需要进行FFT变换的数据加以整理,并传输到GPU设备中存储,GPU设备端利用其众核处理器计算优势,快速完成所有数据的FFT变换,将结果数据传回CPU主机端。该方法提高了FFT变换性能,满足了规模越来越大、使用越来越频繁的FFT变换需求,减少机房构建成本和管理、运行、维护费用,且开发成本低便于实现。

【技术实现步骤摘要】
本专利技术涉及计算机高性能计算领域、科学计算领域,具体涉及一种利用GPU加速FFT的方法
技术介绍
我们希望能在计算机上实现信号的频谱分析或其它工作,然而源信号大多是模拟 的,连续的,时域无限的,不能被计算机处理。通过傅里叶变换FT将模拟信号进行数字化傅里叶处理,而计算机只能处理离散的、有限的信号,此时离散傅里叶变换DFT就应运而生,但DFT的运算量巨大,其应用领域一直难以拓展,直到1965年快速傅里叶变换算法FFT的提出。FFT是DFT的一种快速算法,在声学、电信、电力系统、图像与信号处理、物探、天线、雷达、卫星、医疗等领域有广泛的应用。自从2006年英伟达(NVIDIA)公司推出图形处理器G80 (包含了 128个流式多处理器,最新的Fermi架构包含了 512个多处理器)以来,图形处理器GPU在某些大规模并行计算的应用上,相对于CPU来说性能提高可达100倍以上。GPU拥有更多的晶体管,用于数据处理而不是像CPU那样去处理数据cache和指令控制,这意味着GPU具有巨大的并行计算能力。CUDA C作为GPU的并行编程语言。CUDA C编程将CPU称之为主机,将GPU作为一个协处理器本文档来自技高网...

【技术保护点】
一种利用GPU加速FFT的方法,其特征在于,系统包括CPU主机端和GPU设备端,利用GPU设备端快速计算的特点完成大批量数据的FFT变换,通过CPU主机端和GPU设备端的协调运作加速FFT变换过程,其中,主机端CPU根据单次FFT长度和FFT批处理次数,对需要进行FFT变换的数据加以整理,并传输到GPU设备中存储,GPU设备端利用其众核处理器计算优势,快速完成所有数据的FFT变换,将结果数据传回CPU主机端,将待FFT变换的数据规集在一起存储,具体步骤如下:(1)CPU主机端规集待FFT变换的数据;主机端先开辟用于存储需要进行FFT变换数据的存储空间,主机端将需要进行FFT变换的数据,根据其所...

【技术特征摘要】
1.一种利用GPU加速FFT的方法,其特征在于,系统包括CPU主机端和GPU设备端,利用GPU设备端快速计算的特点完成大批量数据的FFT变换,通过CPU主机端和GPU设备端的协调运作加速FFT变换过程,其中,主机端CPU根据单次FFT长度和FFT批处理次数,对需要进行FFT变换的数据加以整理,并传输到GPU设备中存储,GPU设备端利用其众核处理器计算优势,快速完成所有数据的FFT变换,将结果数据传回CPU主机端,将待FFT变换的数据规集在一起存储,具体步骤如下 (1)CPU主机端规集待FFT变换的数据; 主机端先开辟用于存储需要进行FFT变换数据的存储空间,主机端将需要进行FFT变换的数据,根据其所需进行的FFT变换长度和变换方向规集在一起连续存储,存储空间必须连续; (2)GPU设备端开辟设备存储空间,用于存放源数据和目标数据,并预留额外空间; FFT变换的快速算法,需要消耗额外GPU设备存储,所以GPU设备至少需要额外预留约占待处理数据量15%的存储空间; (3)主机端将原始数据,从主存传输到GPU设备存储空间; 通过主存与GPU设备数据传输接口 memcpy实现数据交换; (4)CPU主机端通过为GP...

【专利技术属性】
技术研发人员:吴庆张清赵开勇
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1