论文部分内容阅读
随着移动通信的发展,从20世纪90年代开始,软件定义无线电SDR(Software Define Radio)的概念广泛流行起来。它需要极高的软、硬件处理能力,才能达到通信信号处理的要求。得益于图形处理器的高性能并行计算能力,将软件定义无线电技术与GPGPU (General Purpose Graphics Processing Units)技术相结合,可以很好的解决实时处理的问题。在通信信号处理中,信道译码器往往占有一半以上的计算量,因此本文重点研究通信中译码器在GPGPU上的算法加速实现问题。CUD A,即统一计算设备架构,是GPGPU的一种并行计算架构。LDPC即低密度校验码,是纠错编码的一种。本文围绕基于CUDA平台的LDPC译码器优化设计这一问题,从以下四个方面进行研究:1)研究和分析了GPGPU的硬件架构,与CPU架构进行了对比,给出了理论性能的计算方法。接着,对CUDA统一计算设备架构的编程模型和通信机制进行了详细的讲解。2)对LDPC码的译码算法进行了全面的调研和仿真,并针对其计算量、性能、迭代次数、并行度等进行了比较和分析。通过分析,TDMP (Turbo-decoding Message-passing)译码算法相对于BP (Belief Propagation)算法,具有更快的迭代收敛速度,平均迭代次数降低了20%-50%,同时,存储空间的需求量较低的特性使得它更适合在GPGPU上进行实现。3)对TDMP译码算法的中高速SISO(Soft-in Soft-out)计算单元进行设计TDMP译码算法中的计算量主要集中在SISO计算单元,因此对于该单元算法的性能优化是提高吞吐量有效的一步。在项目中,进行了五种不同算法的仿真,对算法的工程实现进行了编程优化,降低了算法实现的时间复杂度,并在译码性能和复杂度中进行折中,选出最适合在CUDA上运算的算法。4)基于CUDA平台的LDPC译码器的设计,本文先从总体设计的角度,分析了如何将译码器结构映射到GPGPU架构的两级线程模型,并根据不同的设备存储器的特性将计算过程中的变量存储到合适的存储器中。除了总体设计外,本文还对译码器的细节优化过程给出了优化方案,如后验信息的初始化访存优化,外信息存储的合并访问优化,校验矩阵的解压缩优化等。在论文最后,通过仿真结果验证了优化方法的可行性与高效性,并给出了与近几年论文的译码器性能对比,对比结果表明所设计的译码器在性能上更优。