论文部分内容阅读
太阳是地球能量的主要来源,利用大口径天文望远镜观察太阳活动区变化是人类了解太阳、降低太阳活动对人类影响最直接的手段之一。地基大口径太阳望远镜受大气湍流的影响无法达到理论成像分辨率,必须使用自适应光学校正或图像事后处理的方式才能获取接近望远镜衍射极限的高分辨力图像。目前使用斑点干涉法和斑点掩膜法从频率域重建图像是天文图像重建中广泛使用的算法。斑点重建算法计算量大、耗时久,需要使用并发平台对程序进行并行加速。 斑点重建算法使用计算效率低的编程语言如:IDL、Matlab无法大规模重建。Matlab重建一张1280×1280像素的图像需要十几个小时。使用高效的编程语言和好的并发平台加速斑点图像重建算法非常有必要。本文对比了目前常见的并发标准和并发平台。研究了基于多核CPU的太阳图像斑点重建技术,针对程序的不同步骤提出合理的并行方案和优化方案。 本文介绍了基于CPU的并行标准OpenMP和MPI、基于X86架构的众核处理器以及基于GPU的并行标准CUDA。对太阳图像斑点重建算法的斑点干涉法、斑点掩膜法的算法做了详细的描述。 在对高性能并行计算和太阳图像斑点重建算法论述的基础上,本文针对一台配有Intel Xeon E5-2670v3CPU和Intel Xeon Phi7120MIC的服务器平台开展太阳图像的斑点重建算法实现技术研究。在程序优化理论的指导下,斑点图像重建程序串行版本耗时从750秒降低到289秒。为进一步减少耗时,在对比了主流的并发软件和并发平台后,选用了OpenMP作为并发软件,多核CPU作为并发平台。优化后的并行程序用12核在30秒内完成一张1280×1280像素图像的重建。与单核运行相比,加速比达到9.66,并行效率为80%。 使用OpenMP作为并发软件相对MPI不需要控制节点,可以利用共享内存得到更好地加速效果。多核CPU版本的斑点图像重建程序满足了观测中光球层和色球层数据处理的需求,为后续的太阳物理研究打下坚实基础。