基于Zynq开发平台构建LS-SVM模型的加速计算片上系统的制作方法
【技术领域】
[0001] 本发明涉及一种构建LS-SVM模型的加速计算片上系统。
【背景技术】
[0002] 复杂系统的故障预测和健康管理获得越来越多地重视,并广泛应用于电子、汽车、 航空航天、通信系统及图像处理等领域。大量系统健康管理的研宄工作证明,系统的状态数 据绝大多数是典型的时间序列,而机器学习算法是时间序列研宄过程中应用的主要方法, LS-SVM作为机器学习的一种,广泛应用于航空航天器系统的健康管理。
[0003] 针对无人飞行器这种特殊的航天器系统,因受飞行条件、飞行空间的约束,不得不 选取低功耗、体积小、重量轻的健康管理平台,嵌入式平台凭借自身的优势可以满足应用的 需求。随着片上系统SoC(System-on-a-chip)的发展,逐渐发展为异构多核处理器系统 HMPSoC(Heterogeneous Multi-core Processor SoC),应用这种系统结构完成嵌入式 SoC 上的高性能计算,不仅可以解决单片FPGA面对高计算复杂度算法存在的计算任务调度问 题,同时,可以充分发挥通用处理器编程简单、设计灵活的优势。Zynq开发平台是Xilinx公 司推出的异构SoC平台,它为嵌入式高性能计算研宄提供了软硬件协同设计的平台。
[0004] 目前,系统健康管理方面的研宄较多的局限于算法的软件实现和仿真,算法较慢 的训练速度限制了其在实际中的应用,因此必须开展算法的硬件加速计算研宄。
[0005] 目前在异构SoC Zynq开发平台上实现硬件加速的设计较少,并且没有一种有效的 基于Zynq开发平台构建LS-SVM模型的加速计算片上系统。
【发明内容】
[0006] 本发明为了解决目前还没有一种有效的基于Zynq开发平台构建LS-SVM模型的加 速计算片上系统的问题。
[0007] 基于Zynq开发平台构建LS-SVM模型的加速计算片上系统,主要包括下述模块:
[0008] DDR外部存储模块,用于存储LS-SVM模型处理的原始数据、中间数据及最后结果;
[0009] 处理器系统Processing System模块,简称PS模块,用于对原始数据的预处理及 实现LS-SVM模型中的核函数计算过程,形成核函数矩阵,并将正定对称的核函数矩阵进行 存储;
[0010] 可编程逻辑Programmable Logic模块,简称PL模块,用于LS-SVM模型中线性方 程组的求解,负责从DDR外部存储模块读取正定对称矩阵的值,进行矩阵分解并实现求逆 过程,最终将乔里斯基分解得到的下三角阵存储在DDR外部存储模块中,并根据分解得到 的下三角阵求出LS-SVM模型系数;
[0011] AXI总线模块,用于PS模块与PL模块之间的信息传输。
[0012] 本发明充分发挥Zynq开发平台异构的优势,展开对LS-SVM加速计算方法,采用 软硬件协同设计技术,主要解决了异构SoC平台上的计算任务划分问题,同时,设计了基于 Zynq SoC的片上系统结构以及线性方程组求解的数据通路,将任务调度、核函数计算和模 型预测由处理器系统ProcessingSystem模块实现;将数据预处理和线性方程组的求解由 可编程逻辑ProgrammableLogic模块实现,主要在于可编程逻辑ProgrammableLogic模 块可以进行大量的并行操作;最终,基于高层次综合HLS开发方式实现LS-SVM模型的加速 计算。
[0013] 本发明的设计同时使用ARM处理器和可编程逻辑,充分发挥软硬件各自的优势, 从而提高计算效率;同时,计算过程中的线性方程组的求解采用Submatrix-Cholesky分解 方式,实现数据的规律访存,并且数据传输过程采用DMA的传输方式,大大提高了数据的传 输速度,从而使计算效率进一步提高,达到加速计算的目的。
[0014] 本发明除完成异构SoC平台上的加速计算设计外,通过合理的软硬件划分,并根 据Submatrix-Cholesky分解方法设计了合理的数据通路,探索了一种在异构SoC架构下的 软硬件协同设计方法,为其他异构平台下的开发设计提供参考和借鉴。
【附图说明】
[0015] 图1为本发明原理示意图。
【具体实施方式】
【具体实施方式】 [0016] 一:结合图1说明本实施方式,基于Zynq开发平台构建LS-SVM模型 的加速计算片上系统,主要包括下述模块:
[0017] DDR外部存储模块,用于存储LS-SVM模型处理的原始数据、中间数据及最后结果;
[0018] 处理器系统ProcessingSystem模块,简称PS模块,用于对原始数据的预处理及 实现LS-SVM模型中的核函数计算过程,形成核函数矩阵,并将正定对称的核函数矩阵进行 存储;
[0019] 可编程逻辑ProgrammableLogic模块,简称PL模块,用于LS-SVM模型中线性方 程组的求解,负责从DDR外部存储模块读取正定对称矩阵的值,进行矩阵分解并实现求逆 过程,最终将乔里斯基分解得到的下三角阵存储在DDR外部存储模块中,并根据分解得到 的下三角阵求出LS-SVM模型系数;
[0020] AXI总线模块,用于PS模块与PL模块之间的信息传输。
【具体实施方式】 [0021] 二:本实施方式所述的PS模块包括:
[0022] ARM处理器子模块,用于对LS-SVM模型的原始数据进行处理,同时,负责整个计算 过程的任务调度;
[0023] Cache缓存子模块,用于缓存ARM处理器子模块处理的数据和提取的DDR外部存储 模块中的数据;
[0024] DDR控制器子模块,用于控制对DDR外部存储模块中数据的读写;
[0025] MemoryInterconnect子模块,用于PS模块内部存储之间的互联;
[0026] CentralInterconnect子模块,用于PS模块内部结构的互联;
[0027] 1/0子模块;用于连接外部的串口及SD卡及调试。
[0028] 其它步骤与【具体实施方式】一相同。
【具体实施方式】 [0029] 三:本实施方式所述的PL模块包括:
[0030] 加速计算子模块,用于实现线性方程组在可编程逻辑部分的加速求解;
[0031] AXI_DMA子模块,用于实现PS与PL之间的快速数据传输,采用DMA传输方式,可以 加快传输速度;
[0032] RAM/FIF0子模块,用于可编程逻辑PL内部的数据存储或缓存。
[0033] 其它步骤与【具体实施方式】一或二相同。
【具体实施方式】 [0034] 四:本实施方式所述的AXI总线模块包括:
[0035] AXI GP子模块,用于PS向PL传输控制信息,通过AXI-Lite总线实现;
[0036] AXI HP子模块,用于PS与PL之间进行高速数据传输,通过AXI-Stream总线实现。
[0037] 整个计算过程,通过AXI GP子模块获得处理器系统子模块的控制命令,完成对整 个计算任务调度;同时,通过AXI HP子模块获取DDR外部存储模块中的下三角矩阵,通过 AXI_DMA子模块实现PS模块与PL模块之间的快速数据传输。
[0038] 其它步骤与【具体实施方式】一至三之一相同。
[0039] 【具体实施方式】五:本实施方式所述的ARM处理器子模块通过核函数
【主权项】
1. 基于巧nq开发平台构建LS-SVM模型的加速计算片上系统,其特征在于主要包括下 述模块: DDR外部存储模块,用于存储LS-SVM模型处理的原始数据、中间数据及最后结果; 处理器系统ProcessingSystem模块,简称PS模块,用于对原始数据的预处理及实 现LS-SVM模型中的核函数计算过程,形成核函数矩阵,并将正定对称的核函数矩阵进行存 储; 可编程逻辑Programm油leLogic模块,简称化模块,用于LS-SVM模型中线性方程组 的求解,负责从DDR外部存储模块读取正定对称矩阵的值,进行矩阵分解并实现求逆过程, 最终将乔里斯基分解得到的下S角阵存储在DDR外部存储模块中,并根据分解得到的下S 角阵求出LS-SVM模型系数; AXI总线模块,用于PS模块与化模块之间的信息传输。
2. 根据权利要求1所述的基于巧nq开发平台构建LS-SVM模型的加速计算片上系统, 其特征在于: 所述的PS模块包括: ARM处理器子模块,用于对LS-SVM模型的原始数据进行处理,同时,负责整个计算过程 的任务调度; Cache缓存子模块,用于缓存ARM处理器子模块处理的数据和提取的DDR外部存储模块 中的数据; 孤R控制器子模块,用于控制对DDR外部存储模块中数据的读写; MemcxryInterconnect子模块,用于PS模块内部存储之间的互联; CentralInterconnect子模块,用于PS模块内部结构的互联; I/O子模块;用于连接外部的串口及SD卡及调试。
3. 根据权利要求1或2所述的基于巧nq开发平台构建LS-SVM模型的加速计算片上系 统,其特征在于: 所述的化模块包括: 加速计算子模块,用于实现线性方程组在可编程逻辑部分的加速求解; AXI_DMA子模块,用于实现PS与化之间的快速数据传输,采用DMA传输方式,可W加快 传输速度; RAM/FIF0子模块,用于可编程逻辑化内部的数据存储或缓存。
4. 根据权利要求3所述的基于巧nq开发平台构建LS-SVM模型的加速计算片上系统, 其特征在于: 所述的AXI总线模块包括: AXIGP子模块,用于PS向化传输控制信息,通过AXI-Lite总线实现; AXIHP子模块,用于PS与化之间进行高速数据传输,通过AXI-Stream总线实现。
5. 根据权利要求2所述的基于巧nq开发平台构建LS-SVM模型的加速计算片上系统, 其特征在于: ARM处理器子模块通过核函数D=A'(..v,.v.') =cxp{-|x-.v|/片对LS-SVM模型的原始数 据进行计算;其中,0为超参数,X和y是样本数据,均为1维的列向量;II ? II为二范数计
6.根据权利要求3所述的基于巧nq开发平台构建LS-SVM模型的加速计算片上系统, 其特征在于化模块求出LS-SVM模型系数是通过W下方法实现的: 算。 采用基于块的乔里斯基分解方法,实现矩阵A的分解;并通过:
十算出n和V; 其中,A为核函数矩阵,Y为训练样本的输出值,n和V为中间变量; 然后,将I
ilj用n和V求解得到a和 b,从而完成LS-SVM模型
的建模过程;其中xi为训练样本,i为样本 中每个样本值的下标;X为预测输入,y为训练样本的输出。
【专利摘要】基于Zynq开发平台构建LS-SVM模型的加速计算片上系统,涉及一种构建LS-SVM模型的加速计算片上系统。本发明为了解决目前还没有一种有效的基于Zynq开发平台构建的LS-SVM模型加速计算的片上系统的问题。本发明包括DDR外部存储模块、处理器系统Processing System模块、可编程逻辑Programmable Logic模块和AXI总线模块;处理器系统Processing System模块实现任务调度、核函数的计算和模型预测,可编程逻辑Programmable Logic模块实现数据预处理和线性方程组的求解操作;最终,基于高层次综合HLS开发方式实现LS-SVM模型的加速计算。本发明适用于基于异构SoC平台构建LS-SVM模型的加速计算。
【IPC分类】G06F15-76
【公开号】CN104850529
【申请号】CN201510245952
【发明人】王少军, 王晓璐, 马宁, 刘大同, 彭宇, 彭喜元
【申请人】哈尔滨工业大学
【公开日】2015年8月19日
【申请日】2015年5月14日