论文部分内容阅读
并行计算的基本思路是将计算问题分解成若干部分,再调用多种计算资源来协同求解。传统的中央处理器(CPU)并行计算系统由两台以上计算机构成,计算机之间通过网络交换机进行数据传递,其缺陷是数据的总量会明显降低传递速度。而在基于众核架构的图形处理器(GPU)中,众多核心间可以通过传递效率更高的PCI-E互联开关传递数据。出色的计算能力也离不开优秀的编程平台,英伟达公司为GPU开创了一个简单易用的编程接口,即统一计算架构(CUDA)。它以标准C为基础进行扩展,使程序员可以指定的进行并行程序模型编写,将利用GPU进行编程的门槛大大降低。晶格玻尔兹曼方法(Lattice Boltzmann Method,LBM)是一种介于微观分子动力学模型与宏观连续模型之间的介观模型,它通过分布函数代替传统的数值方法来求解宏观变量,大大简化了流体计算的难度。LBM具有物理背景清晰、编程难度小、边界处理简单等优势,因而非常适合GPU的并行计算。淋巴系统对人体的免疫及细胞的内环境稳态都有着重要的作用。与血液循环系统相似,淋巴系统也是遍布全身的管道系统,主要由淋巴液、淋巴管和淋巴器官构成,淋巴管的自发收缩驱动管内淋巴液的流动。淋巴管的收缩-舒张机制由Ca2+和NO浓度的振荡反馈回路决定,NO的产生依赖于作用在淋巴瓣膜上的剪切力,本文以淋巴瓣膜作为生物膜材料。在真实的淋巴系统中,某段淋巴管中的NO分布会受到与其连接的淋巴管的影响,特别是上游连接片段。通过CUDA编程平台建立了一个以多段淋巴管为物理背景的LBM模型,通过该模型研究了多段淋巴管的收缩情况及其内部的物理性质。本文的研究内容包括以下几个方面:1.介绍LBM的研究历史和基本原理,从理论出发求证该方法。研究了LBM中D2Q9模型的边界处理、量纲转换及数值实现过程。2.利用CUDA编程平台实现了LBM泊松流模型的GPU并行计算,尝试通过优化寻址方式来降低内存访问的延迟,进而达到提高计算效率的目的。在保证计算结果正确的前提下,分别通过线性寻址和下标寻址方式在GPU上分别获得了70倍和25倍于CPU的加速比。在下标寻址程序的基础上通过使用结构体来简化函数参数,并将结构体放入共享内存中进行加速优化。3.基于D2Q9模型建立了含有三种淋巴管的多段淋巴管模型,淋巴管的计算参数可以通过代码修改进行调整。模型再现淋巴管的收缩-舒张循环,并利用该模型研究了多段淋巴管中NO和压力的分布以及NO平均浓度变化,三段管模型中各管的流量随时间变化情况。