CN109189475A - 可编程人工智能加速器指令集的构建方法 - Google Patents

可编程人工智能加速器指令集的构建方法 Download PDF

Info

Publication number
CN109189475A
CN109189475A CN201810939838.5A CN201810939838A CN109189475A CN 109189475 A CN109189475 A CN 109189475A CN 201810939838 A CN201810939838 A CN 201810939838A CN 109189475 A CN109189475 A CN 109189475A
Authority
CN
China
Prior art keywords
artificial intelligence
instruction set
intelligence accelerator
operand
construction method
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.)
Granted
Application number
CN201810939838.5A
Other languages
English (en)
Other versions
CN109189475B (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.)
Beijing Suneng Technology Co ltd
Original Assignee
Feng Feng Technology (beijing) Co Ltd
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 Feng Feng Technology (beijing) Co Ltd filed Critical Feng Feng Technology (beijing) Co Ltd
Priority to CN201810939838.5A priority Critical patent/CN109189475B/zh
Publication of CN109189475A publication Critical patent/CN109189475A/zh
Application granted granted Critical
Publication of CN109189475B publication Critical patent/CN109189475B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明实施例公开了一种可编程人工智能加速器指令集构建方法,其抽取不同人工智能算法的核心运算操作,定义为在人工智能加速器执行单元中执行的基本操作类型,结合人工智能加速器的执行单元所需要的操作数类型,构建面向人工智能算法的人工智能加速器指令集。本发明实施例实现了一款人工智能加速器能够高效适配多种人工智能算法,从而有效利用了硬件算力,节约了硬件成本。

Description

可编程人工智能加速器指令集的构建方法
技术领域
本发明涉及人工智能(AI)应用领域,特别是涉及一种可编程人工智能加速器指令集的构建方法。
背景技术
随着大数据、人工智能技术的快速发展,传统的中央处理器CPU的运算处理能力已经无法满足人工智能运算的处理需求,业内处理器厂商开始研发专用的人工智能加速器用于人工智能算法加速。
现有的人工智能加速器大多使用ASIC专用集成电路设计方法进行设计,根据这种方法设计的人工智能加速器通常用于特定的人工智能算法加速。然而,随着人工智能技术在各领域的普遍应用,作为人工智能技术基础的机器学习算法、尤其是深度学习算法也是多种多样。为了使得一种人工智能加速器能够支持多种人工智能算法的运算加速,现有的一种方案是从功能的角度提取人工智能算法的通用逻辑,通过硬件控制,使得多种人工智能算法可以在相同的硬件逻辑上运行,从而达到一款ASIC人工智能加速器可以实现对多种人工智能算法进行加速的目的。例如,可以将人工智能算法抽象为矩阵乘法(MatrixMultiply)、激活(Activation)和规范化/池化(Normalize/Pool)三种基本功能操作,结合硬件控制达到用一种人工智能加速器实现多种人工智能算法的目的。
但是,这种方法是从功能的角度对常用的人工智能算法进行抽象,而不同的人工智能算法对硬件的利用率不同,这种抽象方法必然会导致一部分硬件对一些人工智能算法是冗余的,而对其它人工智能算法却是不足的。随着人工智能算法的不断研究,各种算法也在不断发展演进,当新的人工智能算法出现时,原有的人工智能加速器硬件已经无法高效适配新的算法加速,从而导致硬件的算力浪费和成本上升。
发明内容
为了解决上述问题,本发明提出一种可编程人工智能加速器指令集构建方法,包括:
步骤S11,抽取不同人工智能算法的核心运算操作,定义为在人工智能加速器执行单元中执行的基本操作类型;
步骤S12,定义人工智能加速器的执行单元所需要的操作数类型;
步骤S13,基于所述基本操作类型和操作数类型,构建面向人工智能算法的人工智能加速器指令集。
在一些实施方式中,所述基本操作类型包括加法操作、减法操作、乘法操作、乘累加操作、最大值操作、最小值操作、移位操作。
在一些实施方式中,所述基本操作类型包括逻辑操作。
在一些实施方式中,所述逻辑操作包括逻辑与、逻辑或、逻辑异或操作。
在一些实施方式中,所述基本操作类型包括进循环操作和出循环操作。
在一些实施方式中,所述基本操作类型包括加法树操作。
在一些实施方式中,所述操作数类型包括从所述执行单元的第一操作数输入端口获得的操作数。
在一些实施方式中,所述操作数类型包括从所述执行单元的第二操作数输入端口获得的操作数。
在一些实施方式中,所述操作数类型包括从所述执行单元的第一内部寄存器获得的操作数。
在一些实施方式中,所述操作数类型包括从所述执行单元的第二内部寄存器获得的操作数。
在一些实施方式中,所述指令集中的指令格式包括指令名称、操作数类型、Hint标记、目标寄存器和多个操作数。
本发明实施例通过抽象人工智能算法所需要的核心运算操作,构建面向人工智能算法的专用指令集,通过细粒度的适配,实现了一款人工智能加速器能够高效适配多种人工智能算法,从而有效利用了硬件算力,节约了硬件成本。
附图说明
图1是根据本发明一实施例的可编程人工智能加速器指令集的构建方法的流程示意图;
图2是根据本发明一实施例的EU执行单元的结构示意图;
图3是根据本发明一实施例的可编程人工智能加速器执行单元的结构示意图;
图4是根据本发明另一实施例的可编程人工智能加速器执行单元的结构示意图;
图5是根据本发明一实施例的基于可编程人工智能加速器的人工智能加速方法的流程示意图;
图6是根据本发明另一实施例的基于可编程人工智能加速器的人工智能加速方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是根据本发明一实施例的可编程人工智能加速器指令集的构建方法的流程示意图。本发明实施例的可编程人工智能加速器指令集的构建方法包括以下步骤:
步骤S11,抽取不同人工智能算法的核心运算操作,定义为在人工智能加速器执行单元中执行的基本操作类型。
人工智能算法需要在人工智能加速器的EU执行单元中执行各种运算操作,从而完成算法的执行。本发明实施例通过对不同的人工智能算法进行分析和抽象,将各算法中的核心运算操作抽取出来,定义为人工智能加速器执行单元中执行的基本操作类型,具体包括:
1)加法操作OP_ADD
加法操作OP_ADD用于实现两个操作数的加法运算。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该加法操作OP_ADD就相当于以下算式:
RESULT=OPA+OPB;
2)减法操作OP_SUB
减法操作OP_SUB用于实现两个操作数的减法运算。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该减法操作OP_SUB就相当于以下算式:
RESULT=OPA-OPB;
3)乘法操作OP_MUL
乘法操作OP_MUL用于实现两个操作数的乘法运算。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该乘法操作OP_MUL就相当于以下算式:
RESULT=OPA*OPB;
4)乘累加操作OP_MAC
乘累加操作OP_MAC用于实现两个操作数的乘积与另一操作数的累加运算。
以操作数OPA、OPB和OPD为例,假设运算结果用RESULT表示,那么该乘累加操作OP_MAC就相当于下面两个操作组合完成:
RESULT=OP_MUL(OPA,OPB);
OPD=OP_ADD(RESULT,OPD);
5)最大值操作OP_MAX
最大值操作OP_MAX用于求两个操作数中的最大值MAX。
以操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该最大值操作OP_MAX就相当于下面算式组合完成:
RESULT=OP_SUB(OPA,OPB);
MAX=RESULT>0?OPA:OPB;
6)最小值操作OP_MIN
最小值操作OP_MIN用于求两个操作数中的最小值MIN。
以操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该最小值操作OP_MIN就相当于下面算式组合完成:
RESULT=OP_SUB(OPA,OPB);
MIN=RESULT<0?OPA:OPB;
7)逻辑与操作OP_AND
逻辑与操作OP_AND用于实现两个操作数的逻辑与操作。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该逻辑与操作OP_AND就相当于以下算式:
RESULT=OPA&OPB;
8)逻辑或操作OP_OR
逻辑或操作OP_OR用于实现两个操作数的逻辑或操作。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该逻辑或操作OP_OR就相当于以下算式:
RESULT=OPA|OPB;
9)逻辑异或操作OP_XOR
逻辑异或操作OP_XOR用于实现两个操作数的逻辑异或操作。
以两个操作数OPA和OPB为例,假设运算结果用RESULT表示,那么该逻辑异或操作OP_XOR就相当于以下算式:
RESULT=OPA^XOR;
10)移位操作OP_SHIFT
移位操作OP_SHIFT用于实现操作数的左移和右移运算。
以操作数OPA为例,假设运算结果用RESULT表示,那么该移位操作OP_SHIFT就相当于以下两个算式:
RESULT=OPA<<m;
RESULT=OPA>>m;
其中,m表示对操作数OPA进行左移和右移的位数。
11)出循环操作OP_CBZ
出循环操作OP_CBZ用于标识EU执行单元退出一个循环LOOP。
12)进循环操作OP_LOOP
进循环操作OP_LOOP用于标识EU执行单元进入一个循环LOOP。
13)加法树操作OP_ADDTREE
加法树操作OP_ADDTREE用于实现若干个数相加运算。
以若干个操作数OPA0,OPA1,…,OPAN为例,用算式表示如下:
RESULT=OPA0+OPA1+OPA2+…+OPAN。
步骤S12,定义人工智能加速器的执行单元所需要的操作数类型。
如图2所示,通常人工智能加速器中的一个EU执行单元包括两个或者若干个输入操作数(图中仅示出操作数OPA和OPB),一个或者若干个输出结果(图中仅示出一个运算结果RESULT),内部由若干个寄存器(图中仅示出SRC寄存器和DEST寄存器),用来保存操作数和执行结果。
如下表1所示,本发明实施例定义了4种EU操作数类型:
表1 EU执行单元的操作数类型
操作数类型 功能描述
EU_OPA 标识从EU接口的OPA端口获得操作数
EU_OPB 标识从EU接口的OPB端口获得操作数
EU_SRC 标识从EU内部SRC寄存器获得操作数
EU_DEST 标识从EU内部DEST寄存器获得操作数
步骤S13,基于所述基本操作类型和操作数类型,构建面向人工智能算法的人工智能加速器指令集。
本发明实施例根据步骤S11中定义的人工智能加速器执行单元中执行的基本操作类型以及步骤S12中定义的操作数类型构建人工智能加速器指令集,如下表2所示:
表2 人工智能加速器指令集
以表2中指令EU_ADD和EU_ADDD为例说明指令集命名的含义:
指令EU_ADD是一条OP_ADD操作类型的指令,hint标记值为2′b00,操作数OPA和OPB分别来自操作数类型EU_OPA和EU_OPB,执行结果保存在EU_DEST中。
同理,指令EU_ADDD也是一条OP_ADD操作类型的指令,hint标记值为2′b11,操作数OPA和OPB分别来自操作数类型EU_OPA和EU_DEST,执行结果保存在EU_DEST中。
根据上述指令集定义,以下举例说明如何基于上述指令集实现人工智能算法的核心运算。
1)卷积运算
卷积运算可以实现为以下指令步骤:
a)EU_LOOP
b)EU_MAC
c)EU_CBZ
d)EU_ADDD
上述指令步骤表示首先进入循环;然后执行乘累加运算;随后判断循环是否结束,如是则继续向下执行,如否则回到EU_LOOP继续执行;当循环结束后,对运算结果加偏移量。
2)最大池化(Max Pooling)
最大池化运算可以实现为以下指令步骤:
a)EU_LOOP
b)EU_MAXD
c)EU_CBZ
上述指令步骤表示首先进入循环;然后执行求最大值运算;随后判断循环是否结束,如是则继续向下执行,如否则回到EU_LOOP继续执行。
3)矩阵乘法(Matrix Multiply)
a)EU_LOOP
b)EU_MAC
c)EU_CBZ
上述指令步骤表示首先进入循环;然后执行乘累加运算;随后判断循环是否结束,如是则继续向下执行,如否则回到EU_LOOP继续执行。
本发明实施例通过抽象人工智能算法所需要的核心运算操作,构建面向人工智能算法的专用指令集,通过细粒度的适配,实现了一款人工智能加速器能够高效适配多种人工智能算法,从而有效利用了硬件算力,节约了硬件成本。
图3是根据本发明一实施例的可编程人工智能加速器执行单元的结构示意图。如图3所示,本发明实施例的可编程人工智能加速器执行单元包括以下功能模块:
取指模块11,用于获取人工智能加速程序指令,并控制程序执行的流程;
译码模块12,用于根据获取的指令的类型进行译码操作,生成程序执行需要的控制信息;
执行模块13,用于根据译码生成的控制信息执行相应的运算操作,并输出执行结果。
如图4所示,所述取指模块11包括取指控制模块110、表索引生成模块111、指令表112和配置寄存器113。取指控制模块110用于根据配置寄存器113的配置,开始运行基于人工智能加速指令集编写的人工智能加速程序,控制人工智能加速程序指令的获取;表索引生成模块111根据配置寄存器113的配置和执行的程序地址,生成指令表索引,并按照指令表索引从指令表112中获取需要执行的一组指令。取指控制模块110还用于将获取的需要执行的一组指令发送给译码模块12。
译码模块12包括分别对应不同指令类型的多个译码单元,例如进出循环操作指令(LOOP/CBZ)译码单元、加法树操作指令(ADDTREE)译码单元,加法操作指令(ADD)译码单元,乘法操作指令(MUL)译码单元,移位操作指令(SHIFT)译码单元和逻辑运算操作指令(包含AND、OR、XOR等LOGIC逻辑操作)译码单元等。各指令类型的译码单元进行译码操作后获得的控制信息通过命令总线分别传输给执行模块13中相应的EU执行单元执行相应的操作。
执行模块13包括多个具体的EU执行单元以及加法树操作执行单元,EU执行单元从译码模块接收译码后的控制信息,对输入的操作数OPA和OPB进行相应的指令操作运算,并输出运算结果。加法树操作执行单元用于对各EU执行单元的运算结果进行相加操作,输出相加后的运算结果。
如图4所示,该可编程人工智能加速器运行一条指令,需要三个主要步骤:
首先由取指模块11的取指控制模块110开始,取指控制模块110根据配置寄存器113的内容,控制表索引生成模块111生成指令在指令表112中的索引,并从指令表112中将指令取出。
然后取指模块11将取出的指令送往译码模块12,译码模块12根据指令类型在相应的译码单元(LOOP/CBZ,ADDTREEE,ADD等)将指令信息解析出来,并通过命令总线送到执行模块13。
执行模块13根据命令总线上的信息,在EU执行单元上同时执行命令总线上指明的操作。若该指令需要加法树操作执行单元(ADDTREE)执行,则将EU执行单元的执行结果送往ADDTREE执行单元,否则EU执行单元的执行结果就是该指令的执行结果。
本发明实施例提出可编程人工智能加速器执行单元的基本结构和工作流程,能够保证高效执行面向人工智能算法的专用指令集,通过细粒度的适配,使得一款人工智能加速器能够高效适配多种人工智能算法。
图5是根据本发明一实施例的基于可编程人工智能加速器的人工智能加速方法的流程示意图。如图5所示,本发明实施例的基于可编程人工智能加速器执行单元的人工智能加速方法包括以下步骤:
步骤S21,获取人工智能加速程序指令,并控制程序执行的流程,所述人工智能加速程序基于人工智能加速器指令集编写;
步骤S22,根据获取的指令的类型进行译码操作,生成程序执行需要的控制信息;
步骤S23,根据译码生成的控制信息执行相应的运算操作,并输出执行结果。
图6是根据本发明另一实施例的基于可编程人工智能加速器的人工智能加速方法的流程示意图。如图6所示,在图5所示实施例基础上,上述步骤S21包括以下步骤:
步骤S211,开始运行基于人工智能加速器指令集编写的人工智能加速程序,控制人工智能加速程序指令的获取;
步骤S212,根据配置寄存器的配置和执行的程序地址,生成指令表索引;
步骤S213,根据生成的指令表索引从指令表获取需要执行的一组指令。
上述步骤S22包括以下步骤:
步骤S221,基于与获取的指令的类型对应的译码单元对指令进行译码操作,分别生成程序执行所需要的控制信息;
步骤S222,通过命令总线将生成的程序执行所需要的控制信息传输给相应的执行单元。
上述步骤S23包括以下步骤:
步骤S231,将执行运算操作所需的操作数据输入相应的执行单元进行运算,输出运算结果;
步骤S232,对各执行单元的运算结果进行加法树操作,输出相加后的运算结果。
本发明实施例提出的基于可编程人工智能加速器的人工智能加速方法,通过可编程人工智能加速器执行单元执行人工智能加速器指令集编写的人工智能加速程序,通过细粒度的适配,使得一款人工智能加速器能够高效适配多种人工智能算法,从而有效利用了硬件算力,节约了硬件成本。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种可编程人工智能加速器指令集构建方法,其特征在于,包括:
步骤S11,抽取不同人工智能算法的核心运算操作,定义为在人工智能加速器执行单元中执行的基本操作类型;
步骤S12,定义人工智能加速器的执行单元所需要的操作数类型;
步骤S13,基于所述基本操作类型和操作数类型,构建面向人工智能算法的人工智能加速器指令集。
2.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述基本操作类型包括加法操作、减法操作、乘法操作、乘累加操作、最大值操作、最小值操作、移位操作。
3.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述基本操作类型包括逻辑操作。
4.根据权利要求3所述的可编程人工智能加速器指令集构建方法,其特征在于,所述逻辑操作包括逻辑与、逻辑或、逻辑异或操作。
5.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述基本操作类型包括进循环操作和出循环操作。
6.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述基本操作类型包括加法树操作。
7.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述操作数类型包括从所述执行单元的第一操作数输入端口获得的操作数。
8.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述操作数类型包括从所述执行单元的第二操作数输入端口获得的操作数。
9.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述操作数类型包括从所述执行单元的第一内部寄存器获得的操作数。
10.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述操作数类型包括从所述执行单元的第二内部寄存器获得的操作数。
11.根据权利要求1所述的可编程人工智能加速器指令集构建方法,其特征在于,所述指令集中的指令格式包括指令名称、操作数类型、Hint标记、目标寄存器和多个操作数。
CN201810939838.5A 2018-08-16 2018-08-16 可编程人工智能加速器指令集的构建方法 Active CN109189475B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810939838.5A CN109189475B (zh) 2018-08-16 2018-08-16 可编程人工智能加速器指令集的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810939838.5A CN109189475B (zh) 2018-08-16 2018-08-16 可编程人工智能加速器指令集的构建方法

Publications (2)

Publication Number Publication Date
CN109189475A true CN109189475A (zh) 2019-01-11
CN109189475B CN109189475B (zh) 2022-06-10

Family

ID=64918182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810939838.5A Active CN109189475B (zh) 2018-08-16 2018-08-16 可编程人工智能加速器指令集的构建方法

Country Status (1)

Country Link
CN (1) CN109189475B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256330A (zh) * 2020-11-03 2021-01-22 中国人民解放军军事科学院国防科技创新研究院 用于加速数字信号处理的risc-v指令集扩展方法
WO2021031350A1 (zh) * 2019-08-16 2021-02-25 浪潮电子信息产业股份有限公司 一种卷积网络加速方法、装置及系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097407A (en) * 1986-08-08 1992-03-17 Integrated Inference Machines Artificial intelligence processor
CN1309347A (zh) * 1999-11-15 2001-08-22 德克萨斯仪器股份有限公司 具有改良的指令集体系结构的微处理器
CN102385513A (zh) * 2010-10-01 2012-03-21 微软公司 反应式编程的编程语言支持
US8938072B2 (en) * 2013-01-25 2015-01-20 Freescale Semiconductor, Inc. Cryptographic key derivation device and method therefor
CN104731556A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于从代码语句生成simd代码的方法和系统
CN106371807A (zh) * 2016-08-30 2017-02-01 华为技术有限公司 一种扩展处理器指令集的方法及装置
CN106407137A (zh) * 2016-09-18 2017-02-15 中国科学技术大学苏州研究院 基于邻域模型的协同过滤推荐算法的硬件加速器和方法
CN106406819A (zh) * 2016-09-30 2017-02-15 广州华多网络科技有限公司 一种cpu的指令集兼容方法及其终端
CN106528052A (zh) * 2016-12-26 2017-03-22 北京海嘉科技有限公司 一种基于分布式功能单元的微处理器架构
CN107066423A (zh) * 2016-11-07 2017-08-18 复旦大学 一种有限输入定点数矩阵乘法器的优化方法
CN107111710A (zh) * 2014-09-13 2017-08-29 先进元素科技公司 用于基于安全和可靠标识的计算的方法和系统
CN206470741U (zh) * 2016-12-26 2017-09-05 喻葳 一种基于分布式功能单元的微处理器架构
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
US20180210730A1 (en) * 2017-01-26 2018-07-26 Wisconsin Alumni Research Foundation Reconfigurable, Application-Specific Computer Accelerator
CN108363559A (zh) * 2018-02-13 2018-08-03 北京旷视科技有限公司 神经网络的乘法处理方法、设备和计算机可读介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5097407A (en) * 1986-08-08 1992-03-17 Integrated Inference Machines Artificial intelligence processor
CN1309347A (zh) * 1999-11-15 2001-08-22 德克萨斯仪器股份有限公司 具有改良的指令集体系结构的微处理器
CN102385513A (zh) * 2010-10-01 2012-03-21 微软公司 反应式编程的编程语言支持
US8938072B2 (en) * 2013-01-25 2015-01-20 Freescale Semiconductor, Inc. Cryptographic key derivation device and method therefor
CN104731556A (zh) * 2013-12-23 2015-06-24 国际商业机器公司 用于从代码语句生成simd代码的方法和系统
CN107111710A (zh) * 2014-09-13 2017-08-29 先进元素科技公司 用于基于安全和可靠标识的计算的方法和系统
CN106371807A (zh) * 2016-08-30 2017-02-01 华为技术有限公司 一种扩展处理器指令集的方法及装置
CN106407137A (zh) * 2016-09-18 2017-02-15 中国科学技术大学苏州研究院 基于邻域模型的协同过滤推荐算法的硬件加速器和方法
CN106406819A (zh) * 2016-09-30 2017-02-15 广州华多网络科技有限公司 一种cpu的指令集兼容方法及其终端
CN107066423A (zh) * 2016-11-07 2017-08-18 复旦大学 一种有限输入定点数矩阵乘法器的优化方法
CN106528052A (zh) * 2016-12-26 2017-03-22 北京海嘉科技有限公司 一种基于分布式功能单元的微处理器架构
CN206470741U (zh) * 2016-12-26 2017-09-05 喻葳 一种基于分布式功能单元的微处理器架构
US20180210730A1 (en) * 2017-01-26 2018-07-26 Wisconsin Alumni Research Foundation Reconfigurable, Application-Specific Computer Accelerator
CN108197705A (zh) * 2017-12-29 2018-06-22 国民技术股份有限公司 卷积神经网络硬件加速装置及卷积计算方法及存储介质
CN108363559A (zh) * 2018-02-13 2018-08-03 北京旷视科技有限公司 神经网络的乘法处理方法、设备和计算机可读介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李瑞珍: "灵活可配的图像处理软硬件架构设计", 《中国优秀硕士论文电子期刊网 信息科技辑》 *
李瑞珍: "灵活可配的图像处理软硬件架构设计", 《中国优秀硕士论文电子期刊网 信息科技辑》, no. 7, 15 July 2014 (2014-07-15), pages 6 - 7 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021031350A1 (zh) * 2019-08-16 2021-02-25 浪潮电子信息产业股份有限公司 一种卷积网络加速方法、装置及系统
CN112256330A (zh) * 2020-11-03 2021-01-22 中国人民解放军军事科学院国防科技创新研究院 用于加速数字信号处理的risc-v指令集扩展方法
CN112256330B (zh) * 2020-11-03 2021-11-09 中国人民解放军军事科学院国防科技创新研究院 用于加速数字信号处理的risc-v指令集扩展方法

Also Published As

Publication number Publication date
CN109189475B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
Lu et al. An efficient hardware accelerator for sparse convolutional neural networks on FPGAs
CN108268278B (zh) 具有可配置空间加速器的处理器、方法和系统
CN109740747B (zh) 运算方法、装置及相关产品
CN1246771C (zh) 用于具有二元数字信号处理指令的指令集结构的方法和装置
EP3719654A1 (en) Apparatuses, methods, and systems for operations in a configurable spatial accelerator
CN1983235B (zh) 设置向量屏蔽的方法、设备、系统和处理器
CN111512298A (zh) 用于可配置空间加速器中的条件队列的装置、方法和系统
EP3776229A1 (en) Apparatuses, methods, and systems for remote memory access in a configurable spatial accelerator
EP3776228A1 (en) Apparatuses, methods, and systems for unstructured data flow in a configurable spatial accelerator
CN110018850A (zh) 用于可配置空间加速器中的多播的设备、方法和系统
CN117130661A (zh) 用于点积操作的系统、方法和装置
CN112860320A (zh) 基于risc-v指令集进行数据处理的方法、系统、设备及介质
WO2015114305A1 (en) A data processing apparatus and method for executing a vector scan instruction
CN101739235A (zh) 将32位dsp与通用risc cpu无缝混链的处理器装置
CN109885406B (zh) 算子计算优化方法、装置、设备及存储介质
CN109189475A (zh) 可编程人工智能加速器指令集的构建方法
CN106575220A (zh) 多个经集群极长指令字处理核心
CN104536914B (zh) 基于寄存器访问标记的相关处理装置和方法
CN102682232B (zh) 一种高性能超标量椭圆曲线密码处理器芯片
US20210200540A1 (en) Apparatuses, methods, and systems for fused operations in a configurable spatial accelerator
Wang et al. Customized instruction on risc-v for winograd-based convolution acceleration
CN112051981B (zh) 一种数据流水线计算路径结构及单线程数据流水线系统
WO2024103896A1 (zh) 实现矩阵转置乘的方法、协处理器、服务器及存储介质
Razilov et al. Communications signal processing using RISC-V vector extension
CN109189715A (zh) 可编程人工智能加速器执行单元及人工智能加速方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20190422

Address after: 100192 2nd Floor, Building 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing

Applicant after: BEIJING BITMAIN TECHNOLOGY CO., LTD.

Address before: 100192 No.25 Building, No.1 Hospital, Baosheng South Road, Haidian District, Beijing

Applicant before: Feng Feng Technology (Beijing) Co., Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210817

Address after: 100192 Building No. 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing, No. 301

Applicant after: SUANFENG TECHNOLOGY (BEIJING) Co.,Ltd.

Address before: 100192 2nd Floor, Building 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing

Applicant before: BITMAIN TECHNOLOGIES Inc.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220301

Address after: 100176 901, floor 9, building 8, courtyard 8, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone)

Applicant after: Beijing suneng Technology Co.,Ltd.

Address before: 100192 Building No. 25, No. 1 Hospital, Baosheng South Road, Haidian District, Beijing, No. 301

Applicant before: SUANFENG TECHNOLOGY (BEIJING) CO.,LTD.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant