复杂体系解析多维数据阵分析的嵌入式计算技术研究
发布时间:2020-07-18 01:48
【摘要】: 多维数据阵分析是一种用于复杂体系解析的荧光分析技术,在生命科学,环境科学和石油化工等方面有很广泛应用价值。目前该分析方法的理论和实验都发展得比较成熟,但是由于缺乏专用的计算设备,技术的推广受到限制。多维数据阵分析算法以密集矩阵计算为基础,计算复杂度高,而目前的通用嵌入式处理系统计算能力有限,直接利用嵌入式处理器实现多维数据阵分析存在困难。这使多维数据阵分析技术的应用由于通常嵌入式系统计算能力的不足而受到限制。本文针对973预研课题“复杂体系解析多维数阵分析方法学及创新应用”中的应用研究问题,研究了多维数据阵分析专用嵌入式计算的软件结构和核心算法的FPGA设计。具体研究工作如下: 1.通过研究多维数据阵分析的方法和流程,设计了应用于复杂体系解析多维数据阵分析数据处理的专用嵌入式计算结构,并通过分析多维数据阵分析算法的数据流和运算特点,以及FPGA在嵌入式计算上的优势,提出了应用FPGA技术实现核心算法模块的方法,设计了核心计算模块基于FPGA的系统结构,为多维数据阵分析专用计算设备和便携分析仪器设备的研发提供底层计算技术支持。 2.针对多维数据阵分析算法中广泛使用的平行因子算法,研究了算法在FPGA上实现的一些关键技术,解决了算法的并行化重新描述、算法的浮点模型到定点模型转换、变量存储类型选择和矩阵求逆部件根据多维数据阵计算特点的约束设计等问题。通过AccelDSP的研发流程,完成了平行因子算法模块的FPGA实现。 3.在Xilinx AccelDSP的FPGA设计平台上,设计了核心计算模块的验证结构,完成了平行因子算法模块FPGA实现的仿真验证,比较了该算法在FPGA平台上的实现效率和在通用计算设备上的实现效率。结果表明使用FPGA实现多维数据阵分析算法能充分利用硬件计算的优势,充分开发出算法中的内在并行性,使算法得到更高的计算效率。结果也表明,在嵌入式环境中利用FPGA实现多维数据阵分析是可行的。 论文的研究工作对促进嵌入式系统在分析科学领域的应用,促进复杂体系解析多维数阵分析方法的应用和推广,提高分析仪器的智能化、分析方法和流程的自动化有着积极的作用。
【学位授予单位】:湖南大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.12
【图文】:
复杂体系解析多维数据阵分析的嵌入式计算技术研究首先,课题就典型的平行因子算法核心部件进行时间分析,得到如下图3.1所示的六次调用平行因子算法的时间分布:廖垂鹿棘都蠢疆奎如编羹暮寒夔裹如自念黑豁黯)群i黔耀默:黔卿朋舫Ac*.ml匆处业业进迪业进血“四理通四丛({荞茹动--------一回 showparem伯nctions曰 Showbu,丫line。回 Showehildfunetions回show阵 untresutts曰show丽一 eeoverage回Show怕nction!istingpare内(ealling伯nctions)F,.丽哑‘沂叻。俪TyPe里旦塑g如到到旦二皿里iM-允nCtionCel场Lin二卜 er.themo.dme,甘a.即ellt嘛N喻ber知山4D互CT3.立n,tCT3】牛C日l!S1加856IJI巧61加匿611帕石后131巧6、:。ta.石m。!%二me29135孰}石 mePlof率________).CT3二CTZ宫CTI牛 2.2日〕s一事板硫,日.3%二XI砍(:,:,k卜力仪f:
Profile的分析无法体现出这一点。通过算法的C/C++语言的实现,我们可以看到算法内部的更多细节,并可以使用 IBMRationalQuantify对它们进行分析。下面图3.3是 IBMRatinnalQuantify对平行因子算法C/c++实现中的函数调用路径分析输出图。.回~::!‘卜\\,、、me即心Py\、new\~::oet‘COIUm…_夕delete洲尸州产/C肺勿iX:启日枷即ROWS图3.3算法分析的 IBMRationalQuantify函数调用路径输出图在这个函数路径图中,每个节点表示一个调用函数,节点之间的连线表示调用次数。所以,连线越密集,调用越频繁。在系统初始化后,调用从主函数main开始。从上图中我们可以看到,矩阵乘法算子的调用是最频繁,而在这个C/C++实现中,矩阵乘法算子还频繁地调用了矩阵的取数据函数GetElement。同时,从图中还可以看到其他的矩阵操作包括矩阵加法算子、减法算子和矩阵转置等等,它们都频繁地调用了矩阵的初始化和存储访问函数。对于算法实现的软件来说
存储访问逻辑,因而成为专用算法优化的一个突破点。下面 IBMRationalQuantify通过统计函数调用次数,函数的访问时间以及函数子代访问时间而得出来的算法时间分布统计报表。图3.4的报表截图中 Ftime表示函数调用时间,它不包括函数内部调用其他函数所使用的时间,而F十Dtime表示函数及其子代时间,即函数和函数内部调用的子代函数所用时间的总和,显然 F+Dtime值最大的是主函数main。下面这个报表按照 Ftime占总时间的比例为函数排序,从中可以看到,矩阵数据的存取函数GetElement和SetElement因为调用次数非常多,因此消耗的时间也很多,所以它们排在最顶端。这是显然的,几乎每一个对矩阵的操作都需要访问矩阵数据,所以几乎每一个矩阵相关的函数都会来调用矩阵数据的存取函数。除了这些调用次数巨大的访存函数之外,排在前列的还有矩阵乘法操作,这再一次说明了算法中矩阵乘法占用的时间比很大。曦的用瓜旅目.妞..系口口峨口耳IT氏6
本文编号:2760230
【学位授予单位】:湖南大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.12
【图文】:
复杂体系解析多维数据阵分析的嵌入式计算技术研究首先,课题就典型的平行因子算法核心部件进行时间分析,得到如下图3.1所示的六次调用平行因子算法的时间分布:廖垂鹿棘都蠢疆奎如编羹暮寒夔裹如自念黑豁黯)群i黔耀默:黔卿朋舫Ac*.ml匆处业业进迪业进血“四理通四丛({荞茹动--------一回 showparem伯nctions曰 Showbu,丫line。回 Showehildfunetions回show阵 untresutts曰show丽一 eeoverage回Show怕nction!istingpare内(ealling伯nctions)F,.丽哑‘沂叻。俪TyPe里旦塑g如到到旦二皿里iM-允nCtionCel场Lin二卜 er.themo.dme,甘a.即ellt嘛N喻ber知山4D互CT3.立n,tCT3】牛C日l!S1加856IJI巧61加匿611帕石后131巧6、:。ta.石m。!%二me29135孰}石 mePlof率________).CT3二CTZ宫CTI牛 2.2日〕s一事板硫,日.3%二XI砍(:,:,k卜力仪f:
Profile的分析无法体现出这一点。通过算法的C/C++语言的实现,我们可以看到算法内部的更多细节,并可以使用 IBMRationalQuantify对它们进行分析。下面图3.3是 IBMRatinnalQuantify对平行因子算法C/c++实现中的函数调用路径分析输出图。.回~::!‘卜\\,、、me即心Py\、new\~::oet‘COIUm…_夕delete洲尸州产/C肺勿iX:启日枷即ROWS图3.3算法分析的 IBMRationalQuantify函数调用路径输出图在这个函数路径图中,每个节点表示一个调用函数,节点之间的连线表示调用次数。所以,连线越密集,调用越频繁。在系统初始化后,调用从主函数main开始。从上图中我们可以看到,矩阵乘法算子的调用是最频繁,而在这个C/C++实现中,矩阵乘法算子还频繁地调用了矩阵的取数据函数GetElement。同时,从图中还可以看到其他的矩阵操作包括矩阵加法算子、减法算子和矩阵转置等等,它们都频繁地调用了矩阵的初始化和存储访问函数。对于算法实现的软件来说
存储访问逻辑,因而成为专用算法优化的一个突破点。下面 IBMRationalQuantify通过统计函数调用次数,函数的访问时间以及函数子代访问时间而得出来的算法时间分布统计报表。图3.4的报表截图中 Ftime表示函数调用时间,它不包括函数内部调用其他函数所使用的时间,而F十Dtime表示函数及其子代时间,即函数和函数内部调用的子代函数所用时间的总和,显然 F+Dtime值最大的是主函数main。下面这个报表按照 Ftime占总时间的比例为函数排序,从中可以看到,矩阵数据的存取函数GetElement和SetElement因为调用次数非常多,因此消耗的时间也很多,所以它们排在最顶端。这是显然的,几乎每一个对矩阵的操作都需要访问矩阵数据,所以几乎每一个矩阵相关的函数都会来调用矩阵数据的存取函数。除了这些调用次数巨大的访存函数之外,排在前列的还有矩阵乘法操作,这再一次说明了算法中矩阵乘法占用的时间比很大。曦的用瓜旅目.妞..系口口峨口耳IT氏6
【引证文献】
相关博士学位论文 前1条
1 刘彦;异构多核片上系统的任务调度及应用研究[D];湖南大学;2009年
相关硕士学位论文 前1条
1 田峥;运动目标实时检测算法的研究及其嵌入式应用[D];湖南大学;2010年
本文编号:2760230
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2760230.html