论文部分内容阅读
随着平方公里阵(square kilometer array,SKA)等大型综合孔径射电望远镜的建设,基线长度和观测视场不断增加。为了提高成像质量需考虑大视场和非共面基线效应的影响。w-projection作为处理大视场成像与非共面基线效应的重要算法具有优越的计算速度和误差控制,但算法投影过程复杂、内存消耗较大,同时面临海量的天文观测数据,因此需要提高算法的并行效率。本文在成像质量和算法并行效率两个方面对算法进行优化,针对并行优化方法在CUDA下编程实现并优化性能,具体研究工作如下:(1)w-projection和w-stacking算法中w-plane的取值决定了卷积核的数量,对算法的成像质量具有重要影响。原有的w-plane经验取值不能很好的完成大视场成像,因此通过对w-plane的取值进行实验统计分析得到w-plane最优经验值以提高算法的成像质量。(2)w-projection算法计算复杂并且需要处理海量的观测数据,因此将算法移植到GPU下以提高算法并行效率。针对目前算法在GPU上实现存在的问题,分别在内存分配、线程数量和线程块中寄存器的使用量等方面进行优化,然后根据新的设计方法在CUDA平台进行编程实现,有效的提高了算法的并行效率。(3)w-projection算法在CUDA平台下的实现需要对算法性能进行优化。通过应用w-plane最优经验值对CUDA平台下算法的数据分块tile大小和分块比例进行实验分析,得到适合处理SKA1-low望远镜观测数据的分块大小,提高了并行算法的性能。本文的研究成果:(1)在分析w-plane对w-projection算法处理速度和成像质量影响的过程中得到w-plane的最优经验值,提高了算法的成图质量;(2)针对现有的GPU算法在实现方面存在的问题,对GPU设备内存、线程数量和线程块中寄存器的使用量等方面做了改进并编程实现;(3)对算法的CUDA代码实现中的运行性能进行优化,通过实验分析得到针对SKA1-low望远镜的最优tile分块大小,有效提高SKA1-low望远镜的数据并行处理速度与质量。