基于CUDA的FFT并行计算研究

被引量 : 0次 | 上传用户:pboss
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
离散傅立叶变换是数字信号处理系统中常用的重要数学变换,算法的可行性、复杂度和运行效率等都是影响计算结果的重要因素。近年来,GPU正在以大大超过摩尔定律的速度高速发展,主流GPU的单精度浮点处理能力和外部存储器带宽相对于同时期的CPU都有明显的优势,基于图形硬件GPU的通用计算正成为并行领域的研究热点。特别是NVIDIA公司于2007年推出的CUDA统一计算设备架构,在编程、优化等方面都得到了显著的提升,极大地增强了GPU的通用计算能力。CUDA不需要借助于图形API,采用类C语言进行开发,使开发人员比较容易的从CPU编程模式过渡到GPU编程模式。随着GPU可编程能力、并行处理能力以及应用范围的不断提升和扩展,GPU已发展成为一种高度并行化、多线程、多核的处理器。利用GPU的并行处理能力,以CPU+GPU混合加速为特征的异构并行计算系统将会成为未来高性能计算的主流。本文首先分析了CUDA硬件架构和编程模型,在分析GPU通用计算现状的基础上,提出CUDA程序设计的方法。然后深入探讨了快速傅立叶变换的基本原理,详细介绍了时域抽取基2-FFT算法的实现过程及相关性质,根据快速傅立叶算法高度并行分治的特征,结合CUDA编程模型及实现机制,用CUDA的类C语言设计了快速傅立叶变换的并行算法。改进算法采用CPU+GPU异构模型方式,将GPU引入到计算中来,让GPU承担程序中的大规模计算——复数的加法与算数的乘法。传统串行算法实现N点序列的快速傅立叶变换需要三层循环,时间复杂度为O (Nlog2N)。改进后的算法采用线程层次组织结构,将同一级中相互独立的N/2个蝶形运算实现并行操作,原有的三层循环可以用两层循环来完成,时间复杂度变为O (N),从而实现对快速傅立叶变换的加速与优化。文章最后搭建CUDA实验运行环境,实现传统快速傅立叶算法在CPU上的运行,以及改进后的算法在GPU上的运行,同时还调用了FFTW函数库的程序代码和CUFFT函数库的程序代码,并将以上结果进行比较,通过对实验数据的分析证明了运用CUDA架构实现快速傅立叶算法的优越性,也验证了GPU在处理大量数据计算时所占的优势。
其他文献
众所周知,影视作品是随着科学技术的发展而产生的一种现代化生活消遣的产物。影视传媒的迅速发展也使文化传播得到了前所未有的拓展。与此同时,很多教育学者意识到将他应用于
<正>欧美部分国家债务水平高据报道,美国负债至今已达12万亿美元,这一数字在未来十年可能还会再增加8万亿美元。除了美国外,今年1月底,标准普尔将日本AA长期主权信用评级前景
<正>多系统萎缩(multiple system atrophy)是一组成年期发病、散发性神经系统变性疾病,临床表现为进行性小脑性共济失调、自主神经功能不全和帕金森综合征等症状,西医病因及发
根据湍流管流中柴油机微粒热泳沉降和湍流脉动沉降研究的需要,对脉动排气时排气管内近壁流场的分布特征、影响因素以及变化规律等进行了研究;分析了脉动排气时气流速度的脉动
中国科科协工程学会环境专业委员会检测报告指出:中国国内有超过9成的车内空气质量超标。当车内废气和微粒达到一定程度时,会引起驾乘人员眩晕、头痛、眼花等情况。在汽车车厢
本文从内部审计定义的变迁为研究的出发点,指出风险导向内部审计是当代企业的必然选择。同时,本文剖析了风险导向内部审计与企业风险管理之间的联系,认为风险导向内部审计与
大多数农药具有较高的土壤持久性和对非目标物种的毒性,农药残留污染已成为人们日益关注的问题。作物中农药残留会对人体造成伤害,有效降低农药残留对保证食品安全至关重要。
为了实现卧式连续混合机内膨润土与铁精矿混合过程的动态描述,明确混合机关键部件(搅拌装置)的受力特性,基于离散单元法,采用Hertz-Mindlin模型构建膨润土与铁精矿的混合料颗粒模
材料力学实验室建设涉及方方面面的内容,包括实验室硬件的建设、规章制度建设、人员的管理、实验教学模式的改革等,要结合理论教学,有效、系统地建设好实验室。只有充分利用
近年来,国际上和国内的一些企业集团纷纷爆出的财务丑闻引起了学术界的关注,研究发现这些事件多少与企业集团内的关联交易有关。我们通常所说的关联交易具有两面性,既有公允