论文部分内容阅读
数值仿真技术在真空电子器件的研制方面一直起着关键性的作用,但随着各种新结构、新材料及新工艺的新型真空电子器件的急迫需求及快速发展,已有数值仿真技术的适用性遇到了越来越多的挑战。与此同时,随着计算机的高速发展,粒子模拟技术因其特别适合于解决物理规律不是很清晰与数学上分析很困难的问题而越发显现出优势。但粒子模拟仿真非常消耗计算机资源和时间,对于复杂的真空电子器件的仿真过程,往往需要花费数十个小时甚至数周的时间,这极大地限制了粒子模拟技术的工程设计应用,不过随着算法能力的增强和计算机计算能力的不断提升,这一限制正逐渐被消除。GPU是一个异构的多处理器芯片,它拥有大规模并行的处理器核心,利用其进行并行计算可以大大缩短程序的运行时间。CUDA的出现使编程者无须掌握复杂的理论就能利用GPU进行并行编程,从而使GPU得到快速地发展。粒子模拟技术具有天然的可并行性,因此基于CUDA C/C++语言及其库函数对已有的粒子模拟程序进行GPU并行加速是显著提高其模拟效率的极其可行的途径之一。本论文基于真空电子器件应用,在x-y坐标系下进行了 2D3V电磁粒子模拟算法的推导、程序编制及验证,然后用GPU对程序进行了并行优化。所做的工作主要包括:1.对粒子模拟技术在真空电子器件研究中的重要性进行介绍,并对GPU的优良性能进行说明,接着对粒子模拟算法利用GPU进行并行的优势进行阐述;2.对GPU体系架构与CUDA编程进行了总结与概述;3.推导出x-y坐标系下的基于真空电子器件应用的2D3V电磁粒子模拟算法,主要包括:网格所属的电磁场的更新、宏粒子的速度位置的更新以及网格所属的电流密度的更新等;4.编制了2D3V电磁粒子模拟程序,模拟了两种注波互作用过程,并对模拟结果与粒子模拟软件MAGIC模拟的结果进行了对比,验证了编制程序的准确性;5.针对上述2D3V电磁粒子模拟程序,建立了 GPU加速算法,然后利用CUDA实现了程序的并行与优化,并对串并行结果进行对比验证,最后给出加速比。