论文部分内容阅读
三点相关函数是天文学中主要的宇宙模拟算法之一,如何对其进行高效的计算一直是困扰天文学家的难题之一。本文基于对FFT三点相关算法的研究,为改进该算法计算精度不足和面对海量数据计算能力不足的问题,设计并实现分块并行算法,并对算法进行优化。对于精度不足的问题,将高精度时遇到的大规模原始矩阵进行分块,使小块矩阵计算时内存使用量在单个节点内存允许的范围之内,实现高精度计算。针对海量数据计算能力的问题,本文提出将分块后计算任务分配至不同节点独立计算,并将计算结果进行合并。通过计算节点的扩展,不断增加计算的进程数目,降低计算时间,提高计算效率。由实验结果分析可知,随着计算进程数目的增加,加速比基本呈现线性趋势。最后,本文对并行算法的结果正确性进行验证,并通过对FFTW库和算法的进一步研究,进行了几种优化实验:1.过滤掉值全为0的矩阵计算。2.去除过滤矩阵多余0。3.将计算的矩阵的维度设置成2,3,5,7的倍数。4.将三维矩阵转换成一维矩阵进行傅立叶变换。实验表明,均有很好地加速效果。由实验结果表明,通过扩展计算节点及优化,可以有效提高并行算法的计算效率,同时对大规模矩阵进行分块,可以实现高精度结果的计算。