CN105354006B - 一种非线性函数的快速运算装置及其方法 - Google Patents

一种非线性函数的快速运算装置及其方法 Download PDF

Info

Publication number
CN105354006B
CN105354006B CN201510849130.7A CN201510849130A CN105354006B CN 105354006 B CN105354006 B CN 105354006B CN 201510849130 A CN201510849130 A CN 201510849130A CN 105354006 B CN105354006 B CN 105354006B
Authority
CN
China
Prior art keywords
independent variable
nonlinear function
input
tabling look
intercept
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510849130.7A
Other languages
English (en)
Other versions
CN105354006A (zh
Inventor
张士锦
罗韬
刘少礼
陈云霁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510849130.7A priority Critical patent/CN105354006B/zh
Publication of CN105354006A publication Critical patent/CN105354006A/zh
Priority to PCT/CN2016/086108 priority patent/WO2017088457A1/zh
Priority to US15/773,959 priority patent/US10489113B2/en
Application granted granted Critical
Publication of CN105354006B publication Critical patent/CN105354006B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/01Methods or arrangements for data conversion without changing the order or content of the data handled for shifting, e.g. justifying, scaling, normalising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Image Processing (AREA)
  • Complex Calculations (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

本发明公开了一种非线性函数的快速运算装置及其方法,其中该装置包括:定义域转换部,用于将输入的自变量转换成查表范围内的对应值;查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果。本发明解决传统方法带来的运算速度慢,运算装置面积大,功耗高等问题。

Description

一种非线性函数的快速运算装置及其方法
技术领域
本发明涉及计算机应用技术,特别是涉及一种非线性函数的快速运算装置及其方法。
背景技术
算术逻辑单元(arithmetic logic unit,缩写ALU)是进行整数运算的结构。在计算机中,算术逻辑单元(ALU)是专门执行算术和逻辑运算的数字电路。ALU是计算机中央处理器的最重要组成部分,甚至连最小的微处理器也包含ALU作计数功能。在现代CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)中已含有功能强大和复杂的ALU;一个单一的元件也可能含有ALU。大部分ALU都可以完成以下运算:整数算术运算(加、减,有时还包括乘和除,不过成本较高),位逻辑运算(与、或、非、异或),移位运算(将数据向左或向右移位或浮动特定位),移位可被认为是乘以2或除以2。算数逻辑单元通常只含有线性运算部件,当算数逻辑单元进行复杂的幂运算等操作时,通常需要好几个运算周期。
为了加快处理器的运算速度,CPU和GPU中通常会集成FPU(Floating-Point Unit,浮点运算单元)。FPU是专门用于浮点运算的处理器,并且可能支持一些超越函数的计算,例如log2x。FPU的运算速度比ALU快了很多。
现有技术在计算非线性函数时,通常是将复杂的运算拆解成简单的运算,再经过几个运算周期后才能得到结果。这使得运算速度慢,运算装置面积大,功耗高。
发明内容
本发明的目的在于提供一种非线性函数的快速运算装置及其方法,用于解决传统方法带来的运算速度慢,运算装置面积大,功耗高等问题。
为了实现上述目的,本发明提供了一种非线性函数的快速运算装置,包括:
定义域转换部,用于将输入的自变量转换成查表范围内的对应值;
查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及
线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果。
所述的非线性函数的快速运算装置,其中,所述定义域转换部包括:
第一乘法器,用于对输入的自变量进行缩放;
第一加法器,用于对缩放后的自变量进行偏移。
所述的非线性函数的快速运算装置,其中,所述线性拟合部包括:
第二乘法器,用于根据斜率与输入的自变量或由所述定义域转换部处理后的自变量进行乘法运算,得到运算结果;
第二加法器,用于根据所述运算结果以及截距进行加法运算,得到所述最后结果。
所述的非线性函数的快速运算装置,其中,进一步包括:
第一自变量选择器,用于选择所述查表部进行处理时所使用的自变量。
所述的非线性函数的快速运算装置,其中,进一步包括:
第二自变量选择器,用于选择所述第二乘法器进行乘法运算时所使用的自变量。
为了实现上述目的,本发明还提供了一种非线性函数的快速运算方法,包括:
步骤一,将输入的自变量转换成查表范围内的对应值;
步骤二,根据所述自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及
步骤三,根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果。
所述的非线性函数的快速运算方法,其中,所述步骤一中,包括:
对输入的自变量进行缩放;
对缩放后的自变量进行偏移。
所述的非线性函数的快速运算方法,其中,所述步骤二中,包括:
通过设置第一自变量选择器选择所述查表部进行处理时所使用的自变量。
所述的非线性函数的快速运算方法,其中,所述步骤三中,包括:
根据斜率与输入的自变量或由所述定义域转换部处理后的自变量进行乘法运算,得到运算结果;
根据所述运算结果以及截距进行加法运算,得到所述最后结果。
所述的非线性函数的快速运算方法,其中,所述步骤三中,包括:
通过设置第二自变量选择器选择进行乘法运算时所使用的自变量。
与现有技术相比,本发明的有益技术效果是:
本发明提供了一种非线性函数的快速运算方法,其采用分段线性拟合的方法来快速计算非线性函数,可以解决传统方法带来的运算速度慢,运算装置面积大,功耗高等问题。具体体现在如下方面:
(1)简化硬件设计,提高运算速度。
(2)降低芯片功耗和面积。
附图说明
图1是本发明的非线性函数的快速运算装置结构图;
图2是本发明的定义域转换部件的内部结构图;
图3是本发明的查表部件的内部结构图;
图4是本发明的线性拟合部件的内部结构图;
图5是本发明的非线性函数的快速运算的第一实施例;
图6是本发明的非线性函数的快速运算的第二实施例;
图7是本发明的非线性函数的快速运算的第三实施例。
图8是本发明的非线性函数的快速运算的第四实施例;
图9是本发明的非线性函数的快速运算的第五实施例。
具体实施方式
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
如图1所示,是本发明非线性函数的快速运算装置结构图。本装置主要包括三个部分:第一部分、第二部分、第三部分。
其中,第一部分用于定义域变换,由定义域转换部10来实现,定义域转换部10包括乘法器1和加法器2,用于将输入的自变量转换成查表范围内的对应值;第二部分是查表,由查表部3来实现,查表部3用于根据由第一部分输入的自变量的值,查找到对应的分段线性拟合的斜率和截距;第三部分是线性拟合,由线性拟合部20来实现,线性拟合部20包括乘法器4和加法器5,用于根据第二部分查表得到的斜率和截距通过线性拟合的方法得到最后结果。
乘法器1,用于输入定义域的伸缩。
加法器2,用于输入定义域的偏移。
查表部3,用于查找与输入对应的直线的截距和斜率。
乘法器4,用于计算k*x。
加法器4,用于计算k*x+b。
非线性函数的快速运算,可分如下情况进行:
(1)定义域需要转换,并且分段线性拟合的输入定义域是第一部分的输入数据。
(2)定义域需要转换,并且分段线性拟合的输入定义域是第一部分的输出数据。
(3)不需要对定义域做变换。
(4)定义域需要转变,线性拟合可以选择定义域转换之前或者之后的定义域的值。
(5)可以选择是否进行定义域转换,线性拟合可以选择定义域转换之前或者之后的定义域的值。
如图2所示,是本发明的定义域转换部件的内部结构。定义域转换部件的结构如下:
如图所示,定义域转换部10是定义域转换的部件,有三个输入x,i,j,x是非线性函数的自变量,i和j是和非线性函数的定义域范围相关的两个常数,new_x是变换定义域后的输出结果。上述部件实现的运算是:new_x=x*i+j,做定义域变换的目的是为了便于接下来的查表操作。
如图3所示,是本发明的查表部件的内部结构图。查表部件结构如下:
如图所示,查表部3的输入是非线性函数的自变量,或者经过定义域转变后的自变量。
Table_k和Table_b里存储了非线性函数分段线性拟合的直线斜率和截距,Table_k和Table_b里的值是可以配置的,在开始计算之前,它们的值应该已完成配置。
查表部3根据输入x的某几位,如图中是x的P-Q位作为索引,将查表后的结果k和b输出。查表部3实现的运算是:index=x[P:Q],k=Table_k[index],b=Table_b[index]。
如图4所示,是本发明的线性拟合部件的内部结构图。线性拟合部件结构如下:
如图所示,线性拟合部20这个模块有三个输入,x表示自变量,可能是转换后的也可能是没转换的,k和b是查表得到的截距和斜率,输出是最终的结果f(x),线性拟合部20实现的运算是:f(x)=k*x+b。
如图5所示,是本发明的非线性函数的快速运算的第一实施例。
在本实施例中,查表部3的输入是自变量x,查找部件3根据x的值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*x,并将结果和b输出,在加法器5中计算k*x+b,计算得到最终的结果。
如图6所示,是本发明的非线性函数的快速运算的第二实施例。
在本实施例中,乘法器1对输入自变量x进行缩放,加法器2对x进行偏移,查表部3的输入是加法器2的输出,查找部件3根据加法器2的输出值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*new_x,并将结果和b输出,在加法器5中计算k*new_x+b,计算得到最终的结果。
如图7所示,是本发明的非线性函数的快速运算的第三实施例。
在本实施例中,乘法器1对输入自变量x进行缩放,加法器2对x的进行偏移,查表部3的输入是加法器2的输出,查找部件3根据加法器2的输出值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*x,并将结果和b输出,在加法器5中计算k*x+b,计算得到最终的结果。
如图8所示,是本发明的非线性函数的快速运算的第四实施例。
在本实施例中,乘法器1对输入自变量x进行缩放,加法器2对自变量x进行偏移,查表部3的输入是加法器2的输出,查找部件3根据加法器2的输出值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*x或者k*new_x,并将结果和b输出,在加法器5中计算k*x+b或者k*new_x+b,计算得到最终的结果。
在本实施例中,设置自变量选择器(MUX)来选择乘法器4进行运算所需的自变量为输入的自变量x或是经过加法器2处理后输出的自变量new_x。
如图9所示,是本发明的非线性函数的快速运算的第五实施例。
在本实施例中,乘法器1对输入自变量x进行缩放,加法器2对x进行偏移,查表部3的输入可以选择原始输入x或者经过定义域转换的new_x,查找部3根据输入输出值找到对应的斜率k和截距b,并将k和b输出,在乘法器4中计算k*x或者k*new_x,并将结果和b输出,在加法器5中计算k*x+b或者k*new_x+b,计算得到最终的结果。
在本实施例中,设置自变量选择器(MUX)来选择查表部3的输入是输入的自变量x或是经过加法器2处理后输出的自变量new_x,并设置自变量选择器(MUX)来选择乘法器4进行运算所需的自变量为输入的自变量x或是经过加法器2处理后输出的自变量new_x。
下面通过一具体的例子来进一步说明本案的功效。
由如上所述,可知本发明在计算上面非线性函数,所需要的计算步骤包括查表、乘法、加法。
在FPU中需要的运算步骤是:
1、取反:x=-x。
2、计算log2x。
3、计算log2e。
4、除法运算:第2步的结果除以第3步的结果。
5、1加上第4步的结果。
6、1除以第5步的结果。
由以上的运算可以看出本发明的优势:
(1)加快了计算过程。
(2)避免了复杂的硬件设计,例如log2x的运算部件,降低了芯片面积和功耗。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种非线性函数的快速运算装置,其特征在于,包括:
定义域转换部,用于将输入的自变量转换成查表范围内的对应值;
查表部,用于根据输入的自变量或由所述定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及
线性拟合部,用于根据所述查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果;
所述查表部由Table_k和Table_b存储直线斜率和截距,根据输入自变量x的P-Q位作为索引,将查表后的结果k和b输出,所述查表部实现的运算是:index=x[P:Q],k=Table_k[index],b=Table_b[index]。
2.根据权利要求1所述的非线性函数的快速运算装置,其特征在于,所述定义域转换部包括:
第一乘法器,用于对输入的自变量进行缩放;
第一加法器,用于对缩放后的自变量进行偏移。
3.根据权利要求1所述的非线性函数的快速运算装置,其特征在于,所述线性拟合部包括:
第二乘法器,用于根据斜率与输入的自变量或由所述定义域转换部处理后的自变量进行乘法运算,得到运算结果;
第二加法器,用于根据所述运算结果以及截距进行加法运算,得到所述最后结果。
4.根据权利要求1、2或3所述的非线性函数的快速运算装置,其特征在于,进一步包括:
第一自变量选择器,用于选择所述查表部进行处理时所使用的自变量。
5.根据权利要求3的非线性函数的快速运算装置,其特征在于,进一步包括:
第二自变量选择器,用于选择所述第二乘法器进行乘法运算时所使用的自变量。
6.一种非线性函数的快速运算方法,其特征在于,包括:
步骤一,将输入的自变量转换成查表范围内的对应值;
步骤二,根据所述自变量或由定义域转换部处理后的自变量,查找对应的分段线性拟合的斜率和截距;以及
步骤三,根据查表部查表得到的斜率和截距通过线性拟合的方法得到最后结果;
所述步骤二中,包括:
所述查表部由Table_k和Table_b存储直线斜率和截距,根据输入自变量x的P-Q位作为索引,将查表后的结果k和b输出,实现的运算是:index=x[P:Q],k=Table_k[index],b=Table_b[index]。
7.根据权利要求6所述的非线性函数的快速运算方法,其特征在于,所述步骤一中,包括:
对输入的自变量进行缩放;
对缩放后的自变量进行偏移。
8.根据权利要求6所述的非线性函数的快速运算方法,其特征在于,所述步骤二中,包括:
通过设置第一自变量选择器选择所述查表部进行处理时所使用的自变量。
9.根据权利要求6所述的非线性函数的快速运算方法,其特征在于,所述步骤三中,包括:
根据斜率与输入的自变量或由所述定义域转换部处理后的自变量进行乘法运算,得到运算结果;
根据所述运算结果以及截距进行加法运算,得到所述最后结果。
10.根据权利要求6、7、8或9所述的非线性函数的快速运算方法,其特征在于,所述步骤三中,包括:
通过设置第二自变量选择器选择进行乘法运算时所使用的自变量。
CN201510849130.7A 2015-11-27 2015-11-27 一种非线性函数的快速运算装置及其方法 Active CN105354006B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510849130.7A CN105354006B (zh) 2015-11-27 2015-11-27 一种非线性函数的快速运算装置及其方法
PCT/CN2016/086108 WO2017088457A1 (zh) 2015-11-27 2016-06-17 一种非线性函数的快速运算装置及其方法
US15/773,959 US10489113B2 (en) 2015-11-27 2016-06-17 Quick operation device for nonlinear function, and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510849130.7A CN105354006B (zh) 2015-11-27 2015-11-27 一种非线性函数的快速运算装置及其方法

Publications (2)

Publication Number Publication Date
CN105354006A CN105354006A (zh) 2016-02-24
CN105354006B true CN105354006B (zh) 2017-11-21

Family

ID=55329983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510849130.7A Active CN105354006B (zh) 2015-11-27 2015-11-27 一种非线性函数的快速运算装置及其方法

Country Status (3)

Country Link
US (1) US10489113B2 (zh)
CN (1) CN105354006B (zh)
WO (1) WO2017088457A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354006B (zh) 2015-11-27 2017-11-21 中国科学院计算技术研究所 一种非线性函数的快速运算装置及其方法
WO2017181342A1 (zh) 2016-04-19 2017-10-26 北京中科寒武纪科技有限公司 一种非线性函数运算装置及方法
CN107305484B (zh) * 2016-04-19 2021-11-05 中科寒武纪科技股份有限公司 一种非线性函数运算装置及方法
CN108205518A (zh) * 2016-12-19 2018-06-26 上海寒武纪信息科技有限公司 获取函数值的装置、方法及神经网络装置
CN107479856B (zh) * 2017-08-09 2023-04-07 珠海市杰理科技股份有限公司 反正切函数数据结构及建立方法、函数值获取方法和装置
CN107589935A (zh) * 2017-09-01 2018-01-16 中国科学院计算技术研究所 一种非线性函数计算装置及方法
CN107895191B (zh) 2017-10-30 2022-02-22 上海寒武纪信息科技有限公司 一种信息处理方法及相关产品
US11996105B2 (en) 2018-09-13 2024-05-28 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
CN110058841B (zh) * 2019-04-22 2023-03-28 南京大学 面向具有对称性的非线性函数通用计算装置和方法
CN112307014A (zh) * 2019-07-31 2021-02-02 北京百度网讯科技有限公司 用于减少参数表存储空间的方法、装置、设备和计算机可读存储介质
US11327923B2 (en) 2019-09-04 2022-05-10 SambaNova Systems, Inc. Sigmoid function in hardware and a reconfigurable data processor including same
US11327713B2 (en) 2019-10-01 2022-05-10 SambaNova Systems, Inc. Computation units for functions based on lookup tables
CN110866142B (zh) * 2019-10-12 2023-10-20 杭州智芯科微电子科技有限公司 语音特征提取的查表方法、装置、计算机设备和存储介质
US11327717B2 (en) * 2019-11-19 2022-05-10 SambaNova Systems, Inc. Look-up table with input offsetting
US11328038B2 (en) 2019-11-25 2022-05-10 SambaNova Systems, Inc. Computational units for batch normalization
US11836629B2 (en) 2020-01-15 2023-12-05 SambaNova Systems, Inc. Computationally efficient softmax loss gradient backpropagation
US11809908B2 (en) 2020-07-07 2023-11-07 SambaNova Systems, Inc. Runtime virtualization of reconfigurable data flow resources
US11782729B2 (en) 2020-08-18 2023-10-10 SambaNova Systems, Inc. Runtime patching of configuration files

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699318A (en) * 1970-08-19 1972-10-17 Leeds & Northrup Co Incremental slope method for optimum continuous digital linearization
US6041337A (en) 1997-08-28 2000-03-21 Unisys Corporation Linear function generator method with counter for implementation of control signals in digital logic
US6163791A (en) 1998-02-02 2000-12-19 International Business Machines Corporation High accuracy estimates of elementary functions
JP4269520B2 (ja) 2001-01-23 2009-05-27 株式会社デンソー 近似演算装置およびmap復号装置
US7453285B2 (en) * 2006-12-22 2008-11-18 Chaologix, Inc. Dynamically configurable logic gate using a non-linear element
CN101056415B (zh) 2007-05-10 2010-06-30 海信集团有限公司 一种乘法操作转换为加法和移位操作的方法及装置
CN101866194A (zh) * 2010-06-04 2010-10-20 上海大学 非线性函数发生器与函数变换器及通用非线性校正器
US9015217B2 (en) * 2012-03-30 2015-04-21 Apple Inc. Transcendental and non-linear components using series expansion
CN103176948B (zh) 2013-03-04 2016-06-29 浙江大学 一种低成本的单精度初等函数运算加速器
CN103364644A (zh) * 2013-07-25 2013-10-23 北京无线电计量测试研究所 一种消除探头输出电压信号基线漂移的方法
CN105354006B (zh) 2015-11-27 2017-11-21 中国科学院计算技术研究所 一种非线性函数的快速运算装置及其方法

Also Published As

Publication number Publication date
CN105354006A (zh) 2016-02-24
US10489113B2 (en) 2019-11-26
US20180329681A1 (en) 2018-11-15
WO2017088457A1 (zh) 2017-06-01

Similar Documents

Publication Publication Date Title
CN105354006B (zh) 一种非线性函数的快速运算装置及其方法
CN107305484A (zh) 一种非线性函数运算装置及方法
KR101981109B1 (ko) 연산 속도를 향상시킨 simd mac 유닛, 그 동작 방법 및 simd mac 유닛의 배열을 이용한 콘볼루션 신경망 가속기
CN108021537A (zh) 一种基于硬件平台的softmax实现方式
WO2017181342A1 (zh) 一种非线性函数运算装置及方法
CN103984522B (zh) Gpdsp中定点和浮点混合除法的实现方法
Venkatachalam et al. Approximate sum-of-products designs based on distributed arithmetic
US20070260660A1 (en) Efficient mapping of FFT to a reconfigurable parallel and pipeline data flow machine
CN108205518A (zh) 获取函数值的装置、方法及神经网络装置
Laxman et al. FPGA implementation of different multiplier architectures
Rooban et al. Implementation of 128-bit radix-4 booth multiplier
Jadhav et al. A novel high speed FPGA architecture for FIR filter design
Naregal et al. Design and implementation of high efficiency vedic binary multiplier circuit based on squaring circuits
Bokade et al. CLA based 32-bit signed pipelined multiplier
Hardieck et al. Constant matrix multiplication with ternary adders
Gustafsson et al. Low-complexity and high-speed constant multiplications for digital filters using carry-save arithmetic
US9804998B2 (en) Unified computation systems and methods for iterative multiplication and division, efficient overflow detection systems and methods for integer division, and tree-based addition systems and methods for single-cycle multiplication
CN107315710A (zh) 全精度及部分精度数值的计算方法及装置
Hsiao et al. Design of a low-cost floating-point programmable vertex processor for mobile graphics applications based on hybrid number system
Singh et al. Modified booth multiplier with carry select adder using 3-stage pipelining technique
Kukade et al. A Novel Parallel Multiplier for 2's Complement Numbers Using Booth's Recoding Algorithm
Priyanka et al. High speed FFT computation using symmetric stacking
Hussain et al. An Area-Efficient and High Throughput Hardware Implementation of Exponent Function
US20210326404A1 (en) Fourier transform device and fourier transform method
KORAH et al. A NEW APPROACH TO DESIGN AN ARITHMETIC LOGIC UNIT BASED ON ANCIENT VEDIC MATHEMATIC

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant