论文部分内容阅读
随着GPU (Graphic Processing Unit,图形处理器)创新性的并行计算体系结构的迅猛发展,GPU已经能够提供比当前主流CPU更为强大的并行计算能力及更大的存储访问带宽。与此同时,由于基于GPU的软件开发模型和开发工具的日臻完善,开发人员能够较容易地编写出高性能的并行应用程序。因此,越来越多的计算密集型应用系统被移植到GPU进行并行化处理,从而极大地提高应用系统的性能。而如何更为有效地并行化以及优化计算密集型应用,已经成为学术界和工业界广泛研究的热点问题。有限冲激响应(FIR, Finite Impulse Response)滤波器因其具有线性相位、精度高以及易于大规模集成等诸多优点而被广泛应用于数字信号处理领域。为了获得性能更为优异的滤波器,增加FIR滤波器的阶数是最为直接有效的方法。然而,随着FIR滤波器系数的增加,滤波处理所需的计算量也成倍增加,大大增加了处理时间。随着实时数字信号处理系统对于计算FIR滤波所需的处理延时要求越来越小,如何设计出计算性能优良和处理延时更小的FIR滤波算法就成为一个极具价值的研究课题。本文基于CUD A (Computer Unified Device Architecture,统一计算设备架构)平台,利用GPU实现信号的高速滤波具有重要的理论和现实意义。本文将GPU作为加速器为基于CPU的通用计算平台提供计算能力补充,结合Overlap-save的方法,将时限较长的输入信号划分成子块后再进行滤波,提出了算法中可并行实现的部分,给出了具体的实现过程。分析影响计算性能的瓶颈,针对数据传输的大量耗时,通过异步并行执行的方法优化CUDA程序。在Interl(R) Core(TM) i72.80GHz CPU和GTX465GPU上完成了基于GPU的并行FIR滤波算法的实现,进行了不同输入信号规模的GPU和CPU算法的测试,给出了运行时间,及优化前和优化后的加速比和浮点乘加运算能力,优化后的加速比最高可达到89.7,平均浮点乘加运算能力可达20Gfina/s。并结合GPU并行计算本身的结构特点,通过实验分别对Geforce GTX465的I/O带宽、延迟以及SM个数对算法计算性能的影响进行了分析。