论文部分内容阅读
相场法是目前数值模拟微观组织枝晶生长最具潜力的方法之一。为使模拟结果尽量贴近现实,文中将计算枝晶生长的单相系统晶粒纯扩散相场模型与计算动量、质量及能量传输格子Boltzmann方法耦合,建立了一个适应于模拟自然对流作用下三维合金枝晶生长的PF-LBM多场耦合模型。但由于材料微观组织数值模型是一个密集型计算问题,其模拟时间太长且模拟规模太小。为了解决这两个问题,文中又使用MPI+CUDA混合粒度异构并行计算来探索出一种同时具有GPU高计算效率和MPI可扩大模拟规模的不同粒度异构并行算法。使用MPI+CUDA混合粒度并行方法对PF-LBM三维枝晶生长模型模拟,用MPI方式进行粗粒度划分,把完整三维模型划分为单个相等小模型放入不同节点中,突破单机下模拟规模的限制。而在每一个节点中又以CUDA并行方式进行细粒度划分,实现节点内完全并行化,从而提高总体计算效率。同时文中在CUDA编程中提出“伪三维数组”编程法,把CUDA线性数组访问转化成数组坐标访问形式,简化CUDA编程。在编译方面,利用Make File文件,把CUDA函数与MPI函数统一编写和编译,减少了MPI+CUDA因分别编译链接带来的烦琐。在CUDA随机数生成中,提出了不同产生方法,并比较其时间效率,解决CUDA随机数生成困难与时间消耗太长等问题。在相同模拟计算环境下,文章实现了MPI+CUDA混合粒度异构并行在PF-LBM模型上的数值模拟,并与串行、MPI及GPU并行计算结果相比较,得出各并行化结果与串行结果一致,且符合实际实验。同时得到以下规律:在模拟时间上,MPI并行方式随着节点数的增加,呈先减少、后增加的倒抛物线模式,MPI+CUDA异构并行与单GPU并行时间比较呈先增加、后减少、再增加的sin函数模式,并且在相同节点数中的MPI+CUDA模拟时间总小于MPI的模拟时间;在模拟规模上,不同并行模拟方法的模拟规模均随着节点数的增加而增加。最后,由于受模拟环境限制,文中模拟数据表明:在运算效率接近的情况下,21节点MPI+CUDA的最大模拟规模可达4203,是单GPU模拟规模的13倍;在相同模拟规模下,21节点MPI+CUDA的加速比可达到57,比21节点MPI的加速比提高了54%。所以,文中提出的MPI+CUDA混合粒度异构并行方法在求解多场耦合模型中同时拥有了GPU的高计算效率和MPI可扩大模拟规模的优点。