一种基于可编程逻辑器件的并行计算方法及装置制造方法及图纸

技术编号:17304411 阅读:21 留言:0更新日期:2018-02-18 22:25
本发明专利技术涉及可编程逻辑器件的高性能计算架构技术领域,具体涉及一种基于可编程逻辑器件的并行计算方法及装置。设计一种数字逻辑电路对一个连续可导函数进行并行的近似计算,把计算过程分成两级流水线,第一级计算函目标函数值及其导数值,第二级并行地计算出目标函数在其邻域内的线性近似的函数值。因此,本发明专利技术具有如下优点:效率高、节省逻辑资源。

A parallel computing method and device based on programmable logic device

The invention relates to the technical field of high-performance computing architecture for programmable logic devices, in particular to a parallel computing method and device based on programmable logic devices. A design of digital logic circuit calculation of a continuously differentiable function of parallel approximation, the calculation process is divided into two lines, the first letter of calculating the objective function value and its guiding value, second level parallel computing function of linear objective function in the neighborhood of the approximate value. Therefore, the invention has the following advantages: high efficiency and saving logic resources.

【技术实现步骤摘要】
一种基于可编程逻辑器件的并行计算方法及装置
本专利技术涉及可编程逻辑器件的高性能计算架构
,具体涉及一种基于可编程逻辑器件的并行计算方法及装置。
技术介绍
以FPGA为代表的可编程逻辑器件由于其灵活性与高性能,已经在众多需要频繁科学计算的工业、科研、军事及其它应用中找到用武之地,而连续可导传递函数的计算是其一个重要的应用领域。目前,一般是通过简单地扩大硬件规模,例化多个函数计算逻辑电路来实现复杂传递函数的并行计算,这样会占用大量的逻辑资源。或者使用基于多口RAM/ROM的查找表来实现,这样又会占用大量存储器资源。
技术实现思路
本专利技术的上述技术问题主要是通过下述技术方案得以解决的:一种基于可编程逻辑器件的并行计算方法,其特征在于,在可导函数f(x)的定义域范围内,在待计算目标点x0所处的邻域内根据可导函数f(x)的导数构建一线性函数作为可导函数f(x)在该待计算目标点x0处的值。在上述的一种基于可编程逻辑器件的并行计算方法,其特征在于,所述f(x)为一元连续可导函数,所述线性函数基于下式构造:式中,f`(x0)为f(x)在x0处的导函数值,f(x0)为f(x)在x0处的函数值,每次并行计算多个的值的时候只计算一次f`(x0)和f(x0)。在上述的一种基于可编程逻辑器件的并行计算方法所述f(x)为二元连续可导函数f(x,y),在函数f(x,y)的待计算目标点(x0,y0)所处的邻域内根据可导函数f(x,y)的导数构建线性函数作为可导函数f(x,y)在该待计算目标点(x0,y0)处的值。在上述的一种基于可编程逻辑器件的并行计算方法所述线性函数根据下式构建:式中,为f(x,y)在(x0,y0)处的x方向梯度,为f(x,y)在(x0,y0)处的y方向梯度,f(x0,y0)为f(x,y)在(x0,y0(的函数值,每次并行计算多个的值的时候只需要计算一次及f(x0,y0)。在上述的一种基于可编程逻辑器件的并行计算方法所述导数为流水线计算电路实现或者为查找表实现。一种基于可编程逻辑器件的并行计算装置,其特征在于,该并行计算装置包括可编程逻辑器件,该可编程逻辑器件例化有:导数计算模块,用于计算可导函数f(x)在待计算目标点x0处的导数;函数构造模块,用于在待计算目标点x0所处的邻域内根据所述导数构建一线性函数估值计算模块,将所述函数在待计算目标点x0处的函数值作为可导函数f(x)在该待计算目标点x0处的值。在上述的一种基于可编程逻辑器件的并行计算装置,所述f(x)为一元连续可导函数,所述函数构造模块基于下式构造线性函数式中,f`(x0)为f(x)在x0处的导函数值,f(x0)为f(x)在x0处的函数值,每次并行计算多个的值的时候只计算一次f`(x0)和f(x0)。在上述的一种基于可编程逻辑器件的并行计算装置,所述f(x)为二元连续可导函数f(x,y),所述函数构造模块在函数f(x,y)的待计算目标点(x0,y0)所处的邻域内根据可导函数f(x,y)的导数构建线性函数在上述的一种基于可编程逻辑器件的并行计算装置,所述函数构造模块根据下式构建线性函数式中,为f(x,y)在(x0,y0)处的x方向梯度,为f(x,y)在(x0,y0)处的y方向梯度,f(x0,y0)为f(x,y)在(x0,y0)的函数值,每次并行计算多个的值的时候只需要计算一次及f(x0,y0)。一种基于可编程逻辑器件的并行计算装置,其特征在于,该并行计算装置包括至少一可编程逻辑器件、至少一存储器,以及存储在该至少一存储器中并可在该至少一可编程逻辑器件上运行的程序文件,其特征在于,该至少一可编程逻辑器件被配置为执行该程序文件时实现如前述方法的步骤。因此,本专利技术具有如下优点:1.具有很高的计算性能:利用硬件并行的优势,流水线架构打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务。2.在合适的计算精度的情况下,节省大量逻辑资源,并且降低功耗。3.相对于软件过多的抽象层,本专利技术以硬件执行运算过程,具有更高的稳定性。附图说明附图1是本专利技术的方法原理示意图。具体实施方式下面通过实施例,并结合附图,对本专利技术的技术方案作进一步具体的说明。实施例:一、首先介绍一下本专利技术的具体方法原理。本专利技术在可导函数f(x)的定义域范围内,在待计算目标点x0所处的邻域内根据可导函数f(x)的导数构建一线性函数作为可导函数f(x)在该待计算目标点x0处的值。其中,f(x)为一元连续可导函数,所述线性函数基于下式构造:式中,f`(x0)为f(x)在x0处的导函数值,f(x0)为f(x)在x0处的函数值,每次并行计算多个的值的时候只计算一次f`(x0)和f(x0)。并且,f(x)为二元连续可导函数f(x,y),在函数f(x,y)的待计算目标点(x0,y0)所处的邻域内根据可导函数f(x,y)的导数构建线性函数作为可导函数f(x,y)在该待计算目标点(x0,y0)处的值。线性函数根据下式构建:式中,为f(x,y)在(x0,y0)处的x方向梯度,为f(x,y)在(x0,y0)处的y方向梯度,f(x0,y0)为f(x,y)在(x0,y0)的函数值,每次并行计算多个的值的时候只需要计算一次及f(x0,y0)。在本实施例中,导数为流水线计算电路实现或者为查找表实现。二、下面介绍一下与本专利技术方法对应的装置结构。本专利技术涉及的基于可编程逻辑器件连续可导函数的并行计算装置,包括一个可编程逻辑器件、一个存储器,以及存储在该存储器中并可在该可编程逻辑器件上运行的程序文件,该可编程逻辑器件被配置为执行该程序文件时实现第一项描述的方法的步骤,该可编程逻辑器件具体包括:1、导数计算模块,用于计算可导函数f(x)在待计算目标点x0处的导数;f(x)为一元连续可导函数,所述函数构造模块基于下式构造线性函数式中,f`(x0)为f(x)在x0处的导函数值,f(x0)为f(x)在x0处的函数值,每次并行计算多个的值的时候只计算一次f`(x0)和f(x0);并且,f(x)为二元连续可导函数f(x,y),所述函数构造模块在函数f(x,y)的待计算目标点(x0,y0)所处的邻域内根据可导函数f(x,y)的导数构建线性函数2、函数构造模块,用于在待计算目标点x0所处的邻域内根据所述导数构建一线性函数在本实施例中,函数构造模块根据下式构建线性函数式中,为f(x,y)在(x0,y0)处的x方向梯度,为f(x,y)在(x0,y0)处的y方向梯度,f(x0,y0)为f(x,y)在(x0,y0)的函数值,每次并行计算多个的值的时候只需要计算一次及f(x0,y0)。3、估值计算模块,将所述函数在待计算目标点x0处的函数值作为可导函数f(x)在该待计算目标点x0处的值。在本实施例中,导数为流水线计算电路实现或者为查找表实现。需要说明的是,上述实施例中,该并行计算装置也可以包括多个可编程逻辑器件、与该多个可编程逻辑器件一一对应的多个存储器,以及分别存储在每个存储器中并可在其对应的该可编程逻辑器件上运行的程序文件,该多个可编程逻辑器件均被配置为执行该程序文件时实现第一项描述的方法的步骤。或者,上述实施例中,该并行计算装置也可以包括多个可编程逻辑器件、一个存储器,以及分别存储在该存储器中并可在该多个可编程逻辑器件上运行的程序文件,该多个可编程本文档来自技高网...
一种基于可编程逻辑器件的并行计算方法及装置

【技术保护点】
一种基于可编程逻辑器件的并行计算方法,其特征在于,在可导函数f(x)的定义域范围内,在待计算目标点x0所处的邻域内根据可导函数f(x)的导数构建一线性函数

【技术特征摘要】
1.一种基于可编程逻辑器件的并行计算方法,其特征在于,在可导函数f(x)的定义域范围内,在待计算目标点x0所处的邻域内根据可导函数f(x)的导数构建一线性函数作为可导函数f(x)在该待计算目标点x0处的值。2.根据权利要求1所述的一种基于可编程逻辑器件的并行计算方法,其特征在于,所述f(x)为一元连续可导函数,所述线性函数基于下式构造:gx0(x)=f`(x0)(x-x0)+f(x0);式中,f`(x0)为f(x)在x0处的导函数值,f(x0)为f(x)在x0处的函数值,每次并行计算多个的值的时候只计算一次f`(x0)和f(x0)。3.根据权利要求1所述的一种基于可编程逻辑器件的并行计算方法,其特征在于,所述f(x)为二元连续可导函数f(x,y),在函数f(x,y)的待计算目标点(x0,y0)所处的邻域内根据可导函数f(x,y)的导数构建线性函数作为可导函数f(x,y)在该待计算目标点(x0,y0)处的值。4.根据权利要求3所述的一种基于可编程逻辑器件的并行计算方法,其特征在于,所述线性函数根据下式构建:式中,为f(x,y)在(x0,y0)处的x方向梯度,为f(x,y)在(x0,y0)处的y方向梯度,f(x0,y0)为f(x,y)在(x0,y0)的函数值,每次并行计算多个的值的时候只需要计算一次及f(x0,y0)。5.根据权利要求1所述的一种基于可编程逻辑器件的并行计算方法,其特征在于,所述导数为流水线计算电路实现或者为查找表实现。6.一种基于可编程逻辑器件的并行计算装置,其特征在于,该并行计算装置包括可编程逻辑器件,该可编程逻辑器件例化有:导数计算模块,用于计算可导函数f(x)在...

【专利技术属性】
技术研发人员:梅林海邓标华欧昌东汪舟董文忠
申请(专利权)人:武汉精测电子集团股份有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1