超大尺寸金属原位分析仪中大数据快速处理方法与流程

文档序号:24622594发布日期:2021-04-09 20:28阅读:121来源:国知局
超大尺寸金属原位分析仪中大数据快速处理方法与流程
本发明属于超大尺寸金属原位分析
技术领域
,特别涉及一种基于cuda平台的gpu并行运算技术的超大尺寸金属原位分析仪中大数据快速处理方法。
背景技术
:为实现金属表面的各元素分布表征,以点分析(直读光谱技术、钻孔取样湿法化学分析技术等)、小区域扫描技术(小面积原位扫描分析技术)都避免不了以点代面,以偏概全的问题。集加工、扫描、表征于一体的超大尺寸金属原位分析仪,采用单火花积分技术在超大尺寸金属表面通过位置与含量的一一对应实现了在超大尺寸金属表面各元素的分布表征。但是在超大尺寸金属样品原位表征技术中,因为分析面大,带来的海量数据(gb级)。如何针对海量数据快速进行各元素的分布表征计算,如强度含量转化、基体干扰运算、第三元素干扰运算、最高含量、最高含量出现位置、最低含量出现位置、表面数据排序、统计偏析度、夹杂物信号阈值等。这些在点分析或小面积分布表征分析中都不会存在太大的问题,但是对超大尺寸的样品表征技术,由于原始信息的巨量,突破了传统计算方法的限制,如何保证表征结果的即时性表达显示是亟须解决的科学难题。近年来,随着gpu(graphicprocessingunit,图形处理器)技术的持续发展创新,gpu的并行运算能力越来越受到人们的重视。由于gpu的普及,nvidia公司推出了基于cuda构架的高性价比并行运算平台,通过cpu+gpu异构平台基础上的并行操作及算法优化能够大幅提高大数据的处理效率。但该技术多用于图像处理,ai技术、网络大数据运算处理等,在传统化学领域应用较少。在上述情况下,可采用本发明的方法,在集加工、扫描、表征于一体的超大尺寸金属原位分析仪上,将单火花积分光谱强度数据转化为基于cuda平台的gpu并行计算技术要求的数据结构,通过cpu+gpu异构平台基础上的并行操作及算法优化大幅提高大数据的处理效率,并最终实现超大尺寸金属原位分析仪的分布表征。技术实现要素:针对上述技术问题,本发明的目的是提供一种基于cuda平台的gpu并行运算技术的超大尺寸金属原位分析仪中大数据快速处理方法,处理数据量大(gb级),计算速度快,即时性强,所有数据结果5分钟内完成,适用于大面积(长度大于100mm,宽度大于100mm)样品的表面元素分布表征。为了实现上述目的,本发明提供了如下技术方案:一种超大尺寸金属原位分析仪中大数据快速处理方法,包括如下步骤:s1、使用全自动偏析分析仪采用行扫描的方式对超大尺寸样品表面进行全覆盖扫描,获取l个扫描绝对强度文件,其中,l为扫描行数,每个扫描绝对强度文件包括cn个光谱分析通道,每个光谱分析通道包括ni个单火花数据;采用强度比-含量比绘制校准工作曲线:(ci/cr)=a(ii/ir)3+b(ii/ir)2+c(ii/ir)+d;其中,ci为分析通道元素含量;cr为基体通道元素含量;ii为分析通道元素绝对强度;ir为基体通道元素绝对强度;a为三次项系数;b为二次项系数;c为一次项系数;d为常数项系数;i为分析通道序号;r为基本通道的序号;s2、将步骤s1获得的校准工作曲线转化为系数矩阵cm[en,8],en为分析元素数目;8个参数分别为分析通道i、基本通道r、三次项系数a、二次项系数b、一次项系数c、常数项系数d、曲线含量比上限和曲线含量比下限;s3、在gpu的并行运算过程中,采用8个流进行同步并行运算,通过计算扫描强度文件的个数l除以8所得整数得到循环次数,将所有扫描绝对强度文件按照一个扫描绝对强度文件对应一个流的规则依次送进8个流,多出的扫描绝对强度文件等待下个循环,最后一次循环中采用的流的数目为剩余未计算的扫描绝对强度文件数;每个循环并行计算8个流中的8个扫描绝对强度文件,每个流中依次进行8次运算,具体运算步骤如下:s3.1、将分析通道元素绝对强度ii、步骤s2获得的校准工作曲线转化的系数矩阵cm[en,8]按流读入gpu内存;s3.2、绝对强度转化为强度比;r=ii/ir,其中,r为分析通道元素强度比,ii为分析通道元素绝对强度;ir为基体通道元素绝对强度;s3.3、强度比转化为含量比;依据步骤s2获得的校准工作曲线转化的系数矩阵cm[en,8]将步骤s3.2获得的强度比r转化为含量比cr,cr=ci/cm;ci为分析通道元素含量;cm为基体通道元素含量;对于所得计算含量比超出曲线含量比上下限的含量比做超出界限处理;s3.4、含量比转化为含量;计算所有分析通道的含量比cri,依据所有分析通道元素含量和为100%的规则,计算出基体通道含量cm,再依据ci=cm×cri计算出每个光谱分析通道元素的元素含量rci;s3.5、对元素含量进行第三元素干扰校正;根据如下公式计算第三元素干扰校正后的元素含量;其中,ak为加和干扰系数,mk为倍增干扰系数,ci校为第三元素干扰校正后的分析通道元素含量,ck为干扰元素含量,rci为干扰校正前元素含量;s3.6、强度行扫描数据二维转换;将按时间顺序获得的分析通道元素绝对强度ii按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组intmi[rowsi,cols],rowsi表示二维数组的行数,cols表示二维数组的列数,实际计算过程中用三维数组intmi[cn,rowsi,cols]来表示每个分析通道的二维分布,cn为光谱分析通道个数;s3.7、强度时间顺序数组转换为空间位置数组;将步骤s3.6获得的每个分析通道的intmi[rowsi,cols]数组按照其在分析表面坐标位置信息投射到整个分析表面二维数组intm[rows,cols]中,为整个分析表面的强度分布数组,实际计算过程中用三维数组intm[cn,rows,cols],即通道强度分布三维矩阵来表示每个通道的二维分布,cn为光谱分析通道个数;s3.8、含量行扫描数据二维转换;将步骤s3.5按时间顺序获得的每行第三元素干扰校正后的元素含量ci校按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组conmi[rowsi,cols],实际计算过程中用三维数组conmi[en,rowsi,cols]来表示每个通道的二维分布,en为分析元素数目;s3.9、含量时间顺序数组转换为空间位置数组;将步骤s3.8的行二维数组conmi[rowsi,cols]按照其在分析表面坐标位置信息投射到整个分析表面二维数组conm[rows,cols]中,为整个分析表面的含量分布数组,实际计算过程中用三维数组conm[en,rows,cols],即元素含量分布三维矩阵来表示每个通道的二维分布,en为分析元素数目;s4、通过计算光谱分析通道的个数cn除以8所得整数得到循环次数,将步骤s3.7获得的通道强度分布三维矩阵intm[cn,rows,cols]按通道分别送进8个流,每个流负责一个通道数据conmi[rowsi,cols]的运算,多出的通道等待下个循环,最后一次循环中采用的流的数目为剩余未计算通道数;每个循环计算依靠8个流计算8个通道的多个强度参数值,每个流中依次进行如下3步运算:s4.1、在每个流中读入一个通道的强度分布数组intm[rows,cols];s4.2、对强度分布数组intm[rows,cols]进行希尔排序,计算多个参数值;s4.3、对强度分布数组intm[rows,cols]迭代计算夹杂信号阈值,阈值计算方式为:intinc=intavg+3×intsd;intavg为通道所有信号强度平均值,intsd为通道所有信号强度绝对标准偏差,intinc为阈值;对超出阈值的信号进行剔除后,再进行平均值与绝对标准偏差计算,重新计算阈值,如此反复迭代,直至剔除的数据量小于3为止,此时的intinc即为该通道的夹杂物信号阈值;对所有信号数据中高于阈值的数据进行统计分析,计算各个强度段的强度信号出现次数,输出元素夹杂信号统计分布矩阵intd[di,256],di为每个信号段内出现的火花数量;s5、通过计算en除以8所得整数得到循环次数,将元素含量分布三维矩阵conm[en,rows,cols]按元素分别送进8个流,每个流负责一个元素数据conm[rows,cols]的运算,多出的元素等待下个循环,最后一次循环中采用的流的数目为剩余未计算元素数;每个循环计算依靠8个流计算8个通道的多个含量参数值,具体实现步骤如下:s5.1、在每个流中读入一个元素的含量分布数组conm[rows,cols];s5.2、在含量分布数组conm[rows,cols]进行希尔排序,计算多个参数值;s5.3、采用四分位距法计算标准差,以计算稳健变异系数计算含量的统计偏析度;对含量矩阵按行进行统计分析,计算各个含量段出现次数,输出元素含量分布矩阵cond[en,256],en为分析元素数目;s6、将步骤s3.7获得的通道强度分布三维矩阵intm[cn,rows,cols]、步骤s3.9获得的元素含量分布三维矩阵conm[en,rows,cols]及步骤s4、步骤s5中要求计算的各个强度、含量参数值从gpu内存写入cpu内存;s7、将数据结果在cpu上以图形或图表的形式展现出来,所述数据结果为偏析、夹杂物含量和形貌。所述步骤s3.2中,gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),cn),ni为每行每光谱分析通道获得的单火花数据个数,cn为光谱分析通道个数。所述步骤s3.3、步骤s3.4和步骤s3.5中,gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en),ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。所述步骤s3.6和步骤s3.7中,gpu线程设置(32,32,1),线程块设置((rowsi+1)/32,(cols+1)/32,cn),cn为光谱分析通道个数。所述步骤s3.8和步骤s3.9中,gpu线程设置(32,32,1),线程块设置((rowsi+1)/32,(cols+1)/32,en),en为分析元素数目。所述步骤s4中,强度参数值包括最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置、夹杂物阈值、夹杂物强度信号分布。所述步骤s4.1中,gpu线程设置(32,32),线程块设置((rows+1)/32,(cols+1)/32)。所述步骤s4.2和步骤s4.3中,gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),cn),ni为每行每光谱分析通道获得的单火花数据个数,cn为光谱分析通道个数。所述步骤s5中,含量参数值包括最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置、含量分布、统计偏析度、统计疏松度。所述步骤s5.2和步骤s5.3中,gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en),ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。所述方法的所有数据结果在5分钟内完成。所述方法的扫描区域为长度100~1000mm,宽100~500mm。与现有技术相比,本发明的有益效果在于:本发明在集加工、扫描、表征于一体的超大尺寸金属原位分析仪上,即在先申请no.201911374898.8公开的“一种大尺度金属构件偏析度分析仪”,将单火花积分光谱强度数据转化为基于cuda平台的gpu并行计算技术要求的数据结构,通过cpu+gpu异构平台基础上的并行操作及算法优化大幅提高大数据的处理效率,并最终实现超大尺寸金属原位分析仪的分布表征,处理数据量大,计算速度快,准确度高,即时性强,所有数据结果5分钟内完成。附图说明图1为本发明采用的集加工、扫描分析、结果表征于一体的全自动偏析分析仪的结构示意图;图2为单火花数据结构图;图3为二维数据gpu内存映射图;图4为三维数据gpu内存映射图;图5为gpu计算结果;图6为cpu计算结果;图7为实施例1000mm×500mm超大尺寸样品表面扫描图;图8为扫描绝对强度文件并行运算流程图;图9为强度分布数组并行运算流程图;图10为含量分布数组并行运算流程图。其中的附图标记为:1x轴2水平样品台3z轴4刀具5刀库6样品表面加工模块7w轴8偏析度分析模块9待测样品10y轴具体实施方式下面结合附图和实施例对本发明进行进一步说明。本发明建立基于cuda平台的gpu并行运算技术的超大尺寸金属原位分析仪中大数据快速处理方法,包括如下步骤:s1、使用全自动偏析分析仪采用行扫描的方式对超大尺寸样品表面进行全覆盖扫描,获取l个扫描绝对强度文件,其中,l为扫描行数,每个扫描绝对强度文件包括cn个光谱分析通道,每个光谱分析通道包括ni个单火花数据;采用强度比-含量比绘制校准工作曲线:(ci/cr)=a(ii/ir)3+b(ii/ir)2+c(ii/ir)+d;其中,ci为分析通道元素含量;cr为基体通道元素含量;ii为分析通道元素绝对强度;ir为基体通道元素绝对强度;a为三次项系数;b为二次项系数;c为一次项系数;d为常数项系数;i为分析通道序号;r为基本通道的序号。如图1所示,本发明采用集加工、扫描分析、结果表征于一体的全自动偏析分析仪,全自动偏析分析仪包括高精密三维数控工作台、样品表面加工模块、偏析度分析模块和结果表征模块;高精密三维数控工作台包括在水平x轴1和y轴10方向精密移动用于固定待测样品9的水平样品台2,以及相互平行且垂直于x轴y轴平面的z轴3和w轴7。样品表面加工模块6和偏析度分析模块8能够上下移动地分别安装在高精密三维数控工作台的z轴3和w轴7上,位于水平样品台2上的待测样品9的上方。样品表面加工模块6包括用于在待测样品9表面进行表面加工的刀具4。全自动偏析分析仪采用全数字固态火花光源的单火花数字积分技术采集各通道的光谱强度,采用行扫描的方式实现对样品表面的全覆盖扫描,扫描分析区域为x×y的矩形区域,单位为mm,行距d,单位为mm,扫描速度为v,单位为mm/s,单火花采集频率q,扫描行数为l=y/d,每行每光谱分析通道获得的单火花数据个数为ni=x/v×q,全区域单火花总量n=ni×l,单火花强度数据每行保存,光谱分析通道个数cn,工作曲线总量(分析元素数目)en,基体通道号r,以基体通道作为参比通道,采用强度比-含量比绘制校准工作曲线,每个分析元素的最大加合和干扰数为4个,每个分析元素的最大倍增干扰数为4个,单火花数据结构如图2所示。s2、将步骤s1获得的校准工作曲线转化为系数矩阵cm[en,8],en为分析元素数目;8个参数分别为分析通道i、基本通道r、三次项系数a、二次项系数b、一次项系数c、常数项系数d、曲线含量比上限和曲线含量比下限。s3、在gpu的并行运算过程中,采用8个流(stream1~stream8)进行同步并行运算,通过计算扫描强度文件的个数l除以8所得整数得到循环次数,将所有扫描绝对强度文件按照一个扫描绝对强度文件对应一个流的规则依次送进8个流,多出的扫描绝对强度文件等待下个循环,最后一次循环中采用的流的数目为剩余未计算的扫描绝对强度文件数;每个循环并行计算8个流中的8个扫描绝对强度文件,每个流中依次进行8次运算。流程图见图8,具体运算步骤如下:s3.1、将分析通道元素绝对强度ii、步骤s2获得的校准工作曲线转化的系数矩阵cm[en,8]按流读入gpu内存。s3.2、绝对强度转化为强度比;r=ii/ir,其中,r为分析通道元素强度比,ii为分析通道元素绝对强度;ir为基体通道元素绝对强度。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),cn),gpu内存映射图如图3所示。ni为每行每光谱分析通道获得的单火花数据个数,cn为光谱分析通道个数。s3.3、强度比转化为含量比;依据步骤s2获得的校准工作曲线转化的系数矩阵cm[en,8]将步骤s3.2获得的强度比r转化为含量比cr,cr=ci/cm;ci为分析通道元素含量;cm为基体通道元素含量;对于所得计算含量比超出曲线含量比上下限的含量比做超出界限处理。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en),gpu内存映射图见图3。ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。s3.4、含量比转化为含量;计算所有分析通道的含量比cri,依据所有分析通道元素含量和为100%的规则,计算出基体通道含量cm,再依据ci=cm×cri计算出每个光谱分析通道元素的元素含量rci。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en),gpu内存映射图见图3。ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。s3.5、对元素含量进行第三元素干扰校正;根据如下公式计算第三元素干扰校正后的元素含量;其中,ak为加和干扰系数,mk为倍增干扰系数,ci校为第三元素干扰校正后的分析通道元素含量,ck为干扰元素含量,rci为干扰校正前元素含量。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en),gpu内存映射图见图3。ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素总数。s3.6、强度行扫描数据二维转换;将按时间顺序获得的分析通道元素绝对强度ii按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组intmi[rowsi,cols],rowsi表示二维数组的行数,cols表示二维数组的列数,该数组对应为所覆盖区域的面数据,对每个分析通道而言该数据由一维数组转换为二维数组,实现了扫描行对应位置的分析面的强度分布,因为每个分析通道均对应一个二维数组,所以实际计算过程中用三维数组intmi[cn,rowsi,cols]来表示每个分析通道的二维分布,cn为光谱分析通道个数。此步骤gpu线程设置(32,32,1),线程块设置((rowsi+1)/32,(cols+1)/32,cn),cn为光谱分析通道个数,gpu内存映射图见图3。s3.7、强度时间顺序数组转换为空间位置数组;将步骤s3.6获得的每个分析通道的intmi[rowsi,cols]数组按照其在分析表面坐标位置信息投射到整个分析表面二维数组intm[rows,cols]中,得到整个分析表面的强度分布数组。实现一维时间顺序数组向二维空间位置数组的转换,得到各个分析通道在整个分析表面的位置强度分布。因为每个分析通道均对应一个二维数组,所以实际计算过程中用三维数组intm[cn,rows,cols](通道强度分布三维矩阵)来表示每个通道的二维分布,cn为光谱分析通道个数。gpu线程设置(32,32,1),线程块设置((rows+1)/32,(cols+1)/32,cn),cn为光谱分析通道个数,gpu内存映射图见图3。s3.8、含量行扫描数据二维转换;将步骤s3.5按时间顺序获得的每行第三元素干扰校正后的元素含量ci校按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组conmi[rowsi,cols],该数组对应为所覆盖区域的面数据,对每个分析通道而言该数据由一维数组转换为二维数组,实现了扫描行对应位置的分析面的含量分布。因为每个分析元素均对应一个二维数组,所以实际计算过程中用三维数组conmi[en,rowsi,cols]来表示每个通道的二维分布,en为分析元素数目。gpu线程设置(32,32,1),线程块设置((rowsi+1)/32,(cols+1)/32,en),en为分析元素数目,gpu内存映射图见图3。s3.9、含量时间顺序数组转换为空间位置数组;将步骤s3.8的行二维数组conmi[rowsi,cols]按照其在分析表面坐标位置信息投射到整个分析表面二维数组conm[rows,cols]中,得到整个分析表面的含量分布数组。实现一维时间顺序数组向二维空间位置数组的转换,得到各个光谱分析通道在整个分析表面的位置含量分布。因为每个分析元素均对应一个二维数组,所以实际计算过程中用三维数组conm[en,rows,cols](元素含量分布三维矩阵)来表示每个通道的二维分布,en为分析元素数目。gpu线程设置(32,32,1),线程块设置((rows+1)/32,(cols+1)/32,en),en为分析元素数目。gpu内存映射图见图3。s4、通过计算光谱分析通道的个数cn除以8所得整数得到循环次数,将步骤s3.7获得的通道强度分布三维矩阵intm[cn,rows,cols]按通道分别送进8个流,每个流负责一个通道数据conmi[rowsi,cols]的运算,多出的通道等待下个循环,最后一次循环中采用的流的数目为剩余未计算通道数;每个循环计算依靠8个流计算8个通道的多个强度参数值,所述强度参数值包括最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置、夹杂物阈值、夹杂物强度信号分布;每个流中依次进行如下3步运算,流程图见图9,具体实现步骤如下:s4.1、在每个流中读入一个通道的强度分布数组intm[rows,cols];gpu线程设置(32,32),线程块设置((rows+1)/32,(cols+1)/32)。s4.2、对强度分布数组intm[rows,cols]进行希尔排序,计算最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置。gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),cn)。ni为每行每光谱分析通道获得的单火花数据个数,cn为光谱分析通道个数。s4.3、对强度分布数组intm[rows,cols]迭代计算夹杂信号阈值,阈值计算方式为:intinc=intavg+3×intsd,intavg为通道所有信号强度平均值,intsd为通道所有信号强度绝对标准偏差,intinc为阈值;对超出阈值的信号进行剔除后,再进行平均值与绝对标准偏差计算,重新计算阈值,如此反复迭代,直至剔除的数据量小于3为止,此时的intinc即为该通道的夹杂物信号阈值。对所有信号数据中高于阈值的数据进行统计分析,计算各个强度段的强度信号出现次数,输出元素夹杂信号统计分布矩阵intd[di,256],di为每个信号段内出现的火花数量。gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),cn)。ni为每行每光谱分析通道获得的单火花数据个数,cn为光谱分析通道个数。s5、通过计算en除以8所得整数得到循环次数,将元素含量分布三维矩阵conm[en,rows,cols]按元素分别送进8个流,每个流负责一个元素数据conm[rows,cols]的运算,多出的元素等待下个循环,最后一次循环中采用的流的数目为剩余未计算元素数;每个循环计算依靠8个流计算8个通道的多个含量参数值,所述含量参数值包括最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置、含量分布、统计偏析度、统计疏松度。流程图见图10,具体实现步骤如下:s5.1、在每个流中读入一个元素的含量分布数组conm[rows,cols];s5.2、在含量分布数组conm[rows,cols]进行希尔排序,计算最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置。gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en)。ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。gpu内存映射图见图3。s5.3、采用四分位距法计算标准差,以计算稳健变异系数计算含量的统计偏析度。对含量矩阵按行进行统计分析,计算各个含量段出现次数,输出元素含量分布矩阵cond[en,256],en为分析元素数目。gpu线程设置(1024,1,1),线程块设置(1024,(ni+1023)/1024),en)。ni为每行每光谱分析通道获得的单火花数据个数,en为分析元素数目。s6、将步骤s3.7获得的通道强度分布三维矩阵intm[cn,rows,cols]、步骤s3.9获得的元素含量分布三维矩阵conm[en,rows,cols]及步骤s4、步骤s5中要求计算的各个参数从gpu内存写入cpu内存。s7、将数据结果在cpu上以图形或图表的形式展现出来。实施例通过对1000mm×500mm超大尺寸样品表面进行扫描,扫描图见图7。本实施例以该样品描分析为例。按照本发明的方法,步骤如下:s1、采用opa-1000大尺度构件偏析度分析仪,仪器配备14个光电倍增管(13个分析通道(0~12),一个基体通道,基体通道号13),选取工作曲线,工作曲线包含13个分析元素和一个基体元素。设定扫描起点位置(x,y,w),扫描区域(1000mm×500mm),扫描方式为逐行连续扫描全自动模式。每行开始时充气5秒,预燃5秒,扫描行距4mm,扫描速度为1mm/s,采集频率500次/s。扫描行数为125行。定点激发斑点直径为4mm。累计获得125个扫描绝对强度文件,每个数据文件包含14个通道,每个通道包含500000个火花强度数据。s2、将校准工作曲线转化为系数矩阵cm[13,8]。s3、在gpu的并行运算过程中,将125个扫描强度数据文件送入8个流(stream1~stream8)进行同步并行运算,每次同时输入8个文件,循环15次,剩下的5个文件送入第16次循环,此次只启动5个流进行并行计算,每个循环中每个流只处理一个强度数据文件。每个流中依次进行8次运算。具体实现步骤如下:s3.1、对样品待分析表面编辑扫描路径,实现样品表面全覆盖,将样品表面的扫描路径文件转化为位置坐标信息,并由程序控制全自动偏析分析仪逐行扫描样品表面,获得分析通道元素绝对强度ii、步骤s2获得的校准工作曲线转化的系数矩阵cm[13,8]按流读入gpu内存。s3.2、绝对强度转化为强度比。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(500000+1023)/1024),14),gpu内存映射图如图3所示。s3.3、强度比转化为含量比;依据步骤s2获得的校准工作曲线转化的系数矩阵cm[13,8]将步骤s3.2获得的强度比r转化为含量比cr,对于所得计算含量比超出曲线含量比上下限的含量比做超出界限处理。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(500000+1023)/1024),13),gpu内存映射图见图3。s3.4、含量比转化为含量;计算所有分析通道的含量比cri,依据所有分析通道元素含量和为100%的规则,计算出基体通道含量cm,再依据ci=cm×cri计算出每个分析通道元素的元素含量rci。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(500000+1023)/1024),13),gpu内存映射图见图3。s3.5、对元素含量进行第三元素干扰校正。此步骤gpu线程设置(1024,1,1),线程块设置(1024,(500000+1023)/1024),13),gpu内存映射图见图3。s3.6、强度行扫描数据二维转换;将按时间顺序获得的分析通道元素绝对强度ii按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组intmi[44,10000],该数组对应为所覆盖区域的面数据,对每个分析通道而言该数据由一维数组转换为二维数组,实现了扫描行对应位置的分析面的强度分布,因为每个分析通道均对应一个二维数组,所以实际计算过程中用三维数组intmi[14,40,10000]来表示每个通道的二维分布。此步骤gpu线程设置(32,32,1),线程块设置((40+1)/32,(10000+1)/32,14),gpu内存映射图见图3。s3.7、将每个通道的intmi[40,10000]数组按照其在分析表面坐标位置信息投射到整个分析表面二维数组intm[5000,10000]中,得到整个分析表面的强度分布数组。实现一维时间顺序数组向二维空间位置数组的转换,得到各个分析通道在整个分析表面的位置强度分布。因为每个分析通道均对应一个二维数组,所以实际计算过程中用三维数组intm[14,5000,10000]来表示每个通道的二维分布。gpu线程设置(32,32,1),线程块设置((10000+1)/32,(5000+1)/32,14),gpu内存映射图见图3。s3.8、含量行扫描数据二维转换;将按时间顺序获得的每行含量数据按照随机均匀分布原则投射到一个扫描单行数据文件对应区域的行二维数组conmi[40,10000],该数组对应为所覆盖区域的面数据,对每个分析通道而言该数据由一维数组转换为二维数组,实现了扫描行对应位置的分析面的含量分布。因为每个分析元素均对应一个二维数组,所以实际计算过程中用三维数组conmi[13,10000,5000]来表示每个通道的二维分布。gpu线程设置(32,32,1),线程块设置((40+1)/32,(5000+1)/32,13),gpu内存映射图见图3。s3.9、将步骤s3.8的行二维数组conmi[40,10000]按照其在分析表面坐标位置信息投射到整个分析表面二维数组conm[5000,10000]中,得到整个分析表面的含量分布数组。实现一维时间顺序数组向二维空间位置数组的转换,得到各个分析通道在整个分析表面的位置含量分布。因为每个分析元素均对应一个二维数组,所以实际计算过程中用三维数组conm[13,5000,10000]来表示每个通道的二维分布en为分析元素数目。gpu线程设置(32,32,1),线程块设置((5000+1)/32,(10000+1)/32,13),gpu内存映射图见图3。ni为该扫描文件对应的火花总数,en为分析元素数目。s4、通过计算14除以8所得整数得到循环次数2,个循环采用8个流,第二个循环采用6个流。将强度分布数组intm[14,5000,10000]按通道分别送进8个流,每个流负责一个通道数据的运算。每个循环计算依靠8个流计算8个通道的各个强度参数值,每个流中依次进行3步运算,具体实现步骤如下:s4.1、在每个流中读入一个通道的强度分布数组intm[5000,10000];gpu线程设置(32,32),线程块设置((5000+1)/32,(10000+1)/32)。s4.2、对强度分布数组intm[5000,10000]进行希尔排序,计算最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置。gpu线程设置(1024,1,1),线程块设置(1024,(5000×10000+1023)/1024),14)。s4.3、对强度分布数组intm[5000,10000]迭代计算夹杂信号阈值,阈值计算方式为:intinc=intavg+3×intsd,intavg为通道所有信号强度平均值,intsd为通道所有信号强度绝对标准偏差,intinc为阈值,对超出阈值的信号进行剔除后,再进行平均值与绝对标准偏差计算,重新计算阈值,如此反复迭代,直至剔除的数据量小于3为止,此时的intinc即为该通道的夹杂物信号阈值。对所有信号数据中高于阈值的数据进行统计分析,计算各个强度段的强度信号出现次数,输出元素夹杂信号统计分布矩阵intd[di,256],di为每个信号段内出现的火花数量。gpu线程设置(1024,1,1),线程块设置(1024,(5000×10000+1023)/1024),14)。s5、通过计算13除以8所得整数得到循环次数2,将含量分布数组conm[13,5000,10000]按元素分别送进8个流,每个流负责一个元素数据conm2[5000,10000]的运算,多出的元素等待下个循环,最后一次循环中采用的流的数目为5。每个循环计算依靠8个流计算8个通道的各个含量参数值,具体实现步骤如下:s5.1、在每个流中读入一个元素的含量分布数组conm[rows,cols];s5.2、在每个流中对读入的含量分布数组conm2[5000,10000]进行希尔排序,计算最大值、最小值、中位值、平均值、绝对偏差、0.135%分位值、0.5%分位值、2.5%分位值、1/4分位值、3/4分位值、97.5%分位值、99.5分位值、99.865分位值、最大值出现位置、最小值出现位置。gpu线程设置(1024,1,1),线程块设置(1024,(5000×10000+1023)/1024),13)。gpu内存映射图见图3。s5.3、采用四分位距法计算标准差,以计算稳健变异系数计算含量的统计偏析度。对含量矩阵按行进行统计分析,计算各个含量段出现次数,输出元素含量分布矩阵cond[13,256]。gpu线程设置(1024,1,1),线程块设置(1024,(5000×10000+1023)/1024),13)。s6、将通道强度分布三维矩阵intm[14,5000,10000]、元素含量分布三维矩阵conm[13,5000,10000]及步骤s4、步骤s5中要求计算的各个参数从gpu内存写入cpu内存。s7、将数据结果在cpu上以图形或图表的形式展现出来。对该样品的用本发明模型的计算结果(见图5)与传统cpu的计算结果(见图6)进行对比,计算结果完全一致,计算速度由3.5小时提高至15分钟,见下表。提高近14倍,取得非常好的应用效果。传统方法本发明cpu读入gpu内存01分钟计算3.5小时13分钟gpu读入cpu内存01分钟总时间3.5小时15分钟当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1