论文部分内容阅读
从上世纪60年代至今,半个多世纪以来计算电磁学一直以工程应用为目标不断地发展。近些年来,随着工程问题的复杂化和计算目标的大型化,电磁计算面临着精度、效率等多方面的挑战。特别对于电大尺寸和精细结构问题,使用传统的方法进行仿真计算的周期过长,这大大限制了计算电磁学在实际工程中的应用。幸运的是计算机硬件的发展使得并行技术为实现高效电磁计算技术提供了一条可行的途径。本文围绕着高性能电磁计算的主题开展了使用OpenMP和CUDA进行时域有限积分技术的CPU和GPU并行化研究。 首先,本文研究了串行时域有限积分技术。给出了时域有限积分技术的迭代格式和吸收边界条件,研究了串行时域有限积分技术的流程框架,将时域有限积分技术的流程划分为多个模块,并对各个模块进行了分析。 然后使用当前流行的并行分析工具Intel Parallel Studio对整个计算流程进行了分析,发现了程序中的热点,确定了并行算法中的串行和并行域划分。根据当前流行的并行方式和实际的硬件环境,运用数据并行和任务并行分别设计了基于CPU并行的时域有限积分算法。使用OpenMP作为工具实现了基于共享内存框架的并行计算程序,并使用典型的数值算例对并行算法的精度和效率进行了验证。 最后结合时域有限积分技术的特点,本文对近年来兴起的基于图形处理单元(GPU)的高性能数值计算技术进行了研究。以主流的GPU并行工具NVIDIA公司的统一计算设备架构为对象,研究了该架构的硬件架构、软件开发层次和编程模型。根据统一计算设备架构编程模型设计了适用于时域有限积分技术的GPU并行方法,针对算法中的各个计算域进行了线程格组织方式的分析和设计。最后针对实际工程中的观测需求和软件复用的方便性,给出了CPU-GPU混合并行的设计方案。