首页> 中文学位 >基于GPU加速的FDTD算法对电磁辐射与散射问题的研究
【6h】

基于GPU加速的FDTD算法对电磁辐射与散射问题的研究

代理获取

目录

文摘

英文文摘

声明

第一章 引言

第二章 FDTD 的基本理论

第三章 通用GPU 计算

第四章 基于GPU 的FDTD 并行实现

第五章 数值仿真和结果分析

第六章 总结与展望

参考文献

致 谢

攻读硕士学位期间发表的论文

展开▼

摘要

时域有限差分法(Finite-Different Time-Domain Method)最早是由K.S.Yee在1966年提出的,是电磁计算领域的一种常用方法。在近几十年来,由于其独特的性能和优点得到了越来越广泛的应用和重视。然而,这种方法在进行空间网格离散化时,必须满足该算法稳定性条件和计算精度的需求,对于电大尺寸或复杂结构目标的电磁问题,会产生数量庞大的网格,单台PC机将很难提供足够的存储空间,且计算时间变长,计算性能降低。针对这些不足,并行FDTD算法可将大规模计算分割成小块来同时分别处理,既解决了内存不足又缩短了计算时间,从而为解决电大尺寸电磁问题提供了有效地方法。
   计算机图形处理器GPU(Graphic Process Units)将数据流并行处理的概念引入硬件结构中,具有高性能的数据并行处理能力,使其在通用计算领域的应用有着巨大的潜力。最新的通用计算GPU模型是统一计算架构CUDA(Compute Unified Device Architecture),它是NVIDIA公司的可编程多线程GPU提供的一种技术。CUDA可以为程序员提供充分调度数千个线程的能力。目前NVIDIA公司的GPU可以有效地支持数量巨大的线程,因此可以提高程序的性能达几个数量级。另一方面,由于FDTD算法在空间上具有天然的并行性,因此非常适合于在GPU上实现并行算法。
   本文针对传统FDTD算法的不足,以图形加速卡为核心,通过理论分析和数值模拟,研究并实现了基于GPU加速的FDTD并行算法。同时,本文还对CUDA应用程序进行了优化,主要包括对数据访问的优化,这些数据访问主要包括对芯片上的几种内存空间,如共享内存、常量内存,以及寄存器。每个内存空间都有它们自己的性能特点和限制。本地内存和全局内存是没有缓存的,它们的访问时延很大。又由于共享内存具有写入块共享内存的数据可以被同一个块里的其他线程读取而不能被不同块的线程读取的特征,因此,共享内存可以在硬件中非常有效地实现所需要的快速内存访问。典型的CUDA操作顺序是:1)把任务分解为子任务2)把数据分解为小块,以使它们适合存储于寄存器和共享内存3)把数据块从全局内存中读出,并存储于寄存器和共享内存中4)用线程块处理每个数据块5)把结果拷贝回全局内存。因此,进行CUDA程序开发时面临的最重要的性能挑战之一就是如何充分地利用本地多处理器内存资源,合理地使用这些内存空间能够大大提高CUDA程序的性能。
   本文是在CUDA支持的NVIDIA GeForce 9800GT上设计和实现的,该显卡具有112个流处理器和512MB的显存。我们在该硬件基础上研究了如何通过使用通用 GPU处理器的并行结构来减少FDTD算法运行的计算时间。本篇论文的结构如下:在第二部分,主要阐述了FDTD算法的理论背景。在第三部分,阐述了GPU通用计算具体实现的现状。在第四部分,概述了GPGPU的CUDA结构模型以及如何具体实现基于GPU的并行FDTD算法。第五部分,描述了在CUDA编程模型上的FDTD算法的设计以及优化过程。第六部分,通过数值仿真实验以及结果证明,基于GPU的并行FDTD算法可以大大减少计算时间。本文介绍了在GPU上实现FDTD算法的细粒度的并行计算,并通过仿真及结果分析说明,使用GPU加速已成为电磁场数值计算的研究热点之一。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号