【技术实现步骤摘要】
一种基于集群式GPU加速的荧光蒙特卡罗模拟方法
本专利技术涉及一种基于集群式GPU加速的荧光蒙特卡罗模拟方法,属于计算机科学、数学仿真和生物医学工程领域。
技术介绍
在组织光学领域,光传输过程建模的目标是发展任意组织内光子分布特性的准确快速的数学定量方法,它包括两个层次的含义:其一是建立模型作为评价其它特定应用模型的“金标准”;其二是针对组织光学具体应用中的特定条件发展快速有效地实用模型。蒙特卡罗方法的基本特征是对随机性问题进行仿真,能有效解决随机性问题,甚至对许多确定性方法所难以解决的随机性问题都能较方便地解决。蒙特卡罗法被该领域研究者奉为金标准。现有的蒙特卡罗代码只考虑了激发光在生物组织中的传播,而忽视了生物组织中荧光团的存在。激发光被荧光团吸收后可产生荧光,可在生物组织中继续传播。由于生物组织的不同组成成份会发出不同特征的荧光,通过追踪这些荧光并获取其信息,有利于生物医学的诊断和治疗。并且,随着模拟的光子数目增加,模拟源的数目不断增加,组织结构越来越复杂,计算机模拟的时间也成倍在增加,现有的代码已经不能满足对模拟耗时的需求。专利技术一种优化程序结构,采用集群和GPU加速实现并行高速运算的荧光蒙特卡罗模拟的代码可以满足此需求。
技术实现思路
本专利技术目的在于提供了一种基于集群式GPU加速的荧光蒙特卡罗模拟方法,该技术可以同时模拟多个源,大大节省了模拟光子在生物组织中传输的时间,并分别追踪了生物组织内激发光和荧光的光子传输。一种基于集群式GPU加速的荧光蒙特卡罗模拟方法,其特征在于包括以下步骤:(1)将目标生物组织的空间结构分割成一个三维体素模型,设定一个 ...
【技术保护点】
一种基于集群式GPU加速的荧光蒙特卡罗模拟方法,其特征在于包括以下步骤: (1)将目标生物组织的空间结构分割成一个三维体素模型,设定一个与三维体素模型大小相同的三维数字矩阵,矩阵中每个元素的数值为标识的组织类型;设定目标生物组织的各类组织光学特性参数,组织光学特性参数为激发光的吸收系数、激发光的散射系数、荧光的吸收系数、荧光的散射系数、荧光团的吸收系数、荧光团的折射系数和荧光团的各向异性因子; (2)通过MPI这种消息传递通信协议,主节点获取各子节点的GPU设备的数量,将需要计算的源的数量平均分配给每个子节点的GPU设备,各子节点确定GPU设备上网格和块的维度和尺寸,并根据该节点GPU设备的数目开辟相应数目的子进程,将计算任务分配给各个子进程,启动并行编程与计算平台CUDA,各子节点CPU分配内存空间、显存空间,将要计算的数据从内存复制到显存上; (3)将入射光源表征为设定数目的光子的集合,将入射光源位置和入射光方向赋给每个光子的初始位置和方向; (4)在目标生物组织内追踪每个激发光光子的传输过程,将其中耗费时间长的大规模数据并行、高计算密度的步骤安排在GPU上并行执行,其余步骤安排在 ...
【技术特征摘要】
1.一种基于集群式GPU加速的荧光蒙特卡罗模拟方法,其特征在于包括以下步骤:(1)将目标生物组织的空间结构分割成一个三维体素模型,设定一个与三维体素模型大小相同的三维数字矩阵,矩阵中每个元素的数值为标识的组织类型;设定目标生物组织的各类组织光学特性参数,组织光学特性参数为激发光的吸收系数、激发光的散射系数、荧光的吸收系数、荧光的散射系数、荧光团的吸收系数、荧光团的折射系数和荧光团的各向异性因子;(2)通过MPI这种消息传递通信协议,主节点获取各子节点的GPU设备的数量,将需要计算的源的数量平均分配给每个子节点的GPU设备,各子节点确定GPU设备上网格和块的维度和尺寸,并根据该节点GPU设备的数目开辟相应数目的子进程,将计算任务分配给各个子进程,启动并行编程与计算平台CUDA,各子节点CPU分配内存空间、显存空间,将要计算的数据从内存复制到显存上;(3)将入射光源表征为设定数目的光子的集合,将入射光源位置和入射光方向赋给每个光子的初始位置和方向;(4)在目标生物组织内追踪每个激发光光子的传输过程,将其中耗费时间长的大规模数据并行、高计算密度的步骤安排在GPU上并行执行,其余步骤安排在CPU上串行执行;CPU分配内存,用于存放GPU输出数据,将计算后显存上的数据复制到内存上,各子节点返回运行信息给主节点;步骤(4)具体包括以下步骤:(8.1)投放激发光光子,如果光子处在组织表面之上,将该位置设定为光子发射位置;如果光子处在组织表面之外,将光子自动移向组织表面,其具体操作使用迭代方法;如果光子处在组织内部,则将依照此位置直接发射光子,即光子不发生与表面的相互作用,而直接开始光子在组织内部的传输;(8.2)计算光子的剩余步长sleft:Sleft=-Inξ;(8.3)计算光子移动一步的步长ss=min(-In(ξ)/μt,min(dx,dy,dz))这里ξ是由计算机伪随机数产生器产生的均匀分布在(0,1)的伪随机数,dx,dy,dz依次为组织模型中每个体素的长、宽、高;当光子为激发光光子时:μt=μa+μs+μafp;当光子为荧光光子时:μt=μaf+μsf;μa和μs分别是激发光的吸收系数和散射系数;μaf和μsf分别是荧光的吸收系数和散射系数;μafp是荧光团的吸收系数;(8.4)按照光子当前方向和(8.3)中计算出的步长移动光子一步,判断该过程中光子是否穿过不同组织之间的界面;如果是,进入步骤(8.5);如果否,将光子移动一个步长,更新光子当前位置,然后进入步骤(8.8);(8.5)确定光子在界面上的撞击点,方法为:首先找出如下表达式中的最小项:这里,x,y,z表示光子当前位置;如果第一项最小,那么光子在界面上的作用点表达式为:这里,x0,y0,z0是光子在界面的作用点;(8.6)计算光子在(8.5)中确定的撞击点与界面发生相互作用后的方向,具体方法为:首先计算界面法向矢量(a,b,c),其表达式为:然后,根据该矢量表达式计算光子与界面发生作用的入射角θ和折射角θt,其计算式为:cosθ=a·ux+b·uy+c·uzcosθt=(1-(1-cos2θ)·n12/n22)1/2这里,kx,ky,kz表示光子遇到边界之前的方向余弦值,n1和n2表示遇到界面前后所在组织的折射系数;最后分四种情况计算光子遇到界面之后的方向:如果cosθ=0,设置光子遇到边界之后方向不变;如果cosθ=1,当ε>(n2-n1)2/(n2+n1)2,设置光子遇到边界之后方向不变,当ε≤(n2-n1)2/(n2+n1)2,设置光子反射,其方向变为:如果θ>sin-1(n2/n1),设置光子发生全反射,其方向变为:在其他情况下,设置光子...
【专利技术属性】
技术研发人员:骆清铭,邓勇,罗召洋,江旭,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。