CN107391447A - 一种电脑加速系统及方法 - Google Patents
一种电脑加速系统及方法 Download PDFInfo
- Publication number
- CN107391447A CN107391447A CN201710617512.6A CN201710617512A CN107391447A CN 107391447 A CN107391447 A CN 107391447A CN 201710617512 A CN201710617512 A CN 201710617512A CN 107391447 A CN107391447 A CN 107391447A
- Authority
- CN
- China
- Prior art keywords
- matrix
- logic
- computer
- read
- acceleration system
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Advance Control (AREA)
Abstract
本发明实施例提出一种电脑加速系统及方法,涉及计算机技术领域。其特征在于,所述系统包括:任务逻辑功能模块,用于实现矩阵运算的基本功能;主接口模块,用于从片上存储器中读取数据,将其传递给任务逻辑功能模块进行运算,并将运算结果写到片上存储器中;从接口模块,用于接收处理器发送过来的地址和控制字,并传递给主接口模块,同时从从主接口模块读取任务逻辑功能模块的工作状态,提供给处理器读取;片上存储器,用于存放矩阵运算数据;处理器,用于发送动作指令以及读取任务逻辑功能模块的工作状态。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种电脑加速系统及方法。
背景技术
实时矩阵运算是过程控制、实时图像处理、实时数字信号处理以及网络控制等系统中最常见且计算量大的运算,其计算性能直接影响到系统性能。
目前大部分矩阵运算都是利用软件来实现,但是随着矩阵维数的增长,软件处理的速度也会大幅变慢。例如在模型预测控制(model predictive control,MPC)应用中,特别是其嵌入式实现,控制器计算负担最大、耗时最多部分就是矩阵运算操作。例如文献在汽车电子MPC控制器系统中,矩阵计算实时性要求很高,实时矩阵计算性能成为MPC控制器在快速系统应用中的瓶颈。
发明内容
本发明的目的在于提供一种电脑加速系统,能够使得电脑在进行矩阵运算的时候,速度更快,效率更高。
本发明的另一目的在于提供一种电脑加速方法,具有相应效果。
为了实现上述目的,本发明实施例采用的技术方案如下:
一种电脑加速系统,其特征在于,所述系统包括:
任务逻辑功能模块,用于实现矩阵运算的基本功能;
主接口模块,用于从片上存储器中读取数据,将其传递给任务逻辑功能模块进行运算,并将运算结果写到片上存储器中;
从接口模块,用于接收处理器发送过来的地址和控制字,并传递给主接口模块,同时从从主接口模块读取任务逻辑功能模块的工作状态,提供给处理器读取;
片上存储器,用于存放矩阵运算数据;
处理器,用于发送动作指令以及读取任务逻辑功能模块的工作状态。
进一步的,所述任务逻辑功能模块包括:
第一目标矩阵存储模块,用于存储进行计算的第一目标矩阵;
第二目标矩阵存储模块,用于存储进行计算的第二目标矩阵;
寄存器模块,用于暂存指令、数据和地址;
高性能点乘计算单元,用于进行矩阵的点乘计算;
缓存器,用于缓存数据信息
高性能求和计算单元,用于进行矩阵的求和计算。
进一步的,所述主接口模块包括:
状态机,用于指导各个功能模块间的工作时序;
总线读写器,用于从总线中读写数据;
结果存储器,用于存储结果数据;
数据存储器,用于存储中间数据;
逻辑读写器,用于从逻辑单元中读写数据。
进一步的,所述处理器包括:
状态表:用于记载系统中的状态;
第一矩阵表:用于记载第一矩阵的状态;
第二矩阵表:用于记载第二矩阵的状态;
结果地址表:用于记载结果的地址信息。
一种电脑加速方法,其特征在于,所述方法包括:
步骤1:向电脑加速系统写入矩阵在片上存储器中的存储地址,包括数据地址和结果地址;
步骤2:向电脑加速系统写使能控制字;
步骤3:循环读取电脑加速系统工作状态,判断是否运算结束;
步骤4:运算完成后,处理器向电脑加速系统写结束控制字。
进一步的,所述电脑加速系统进行矩阵运算的方法包括:
步骤A:对矩阵进行分块处理,然后对各个矩阵块进行并行运算;
步骤B:对矩阵完成分块处理后,各矩阵块并行点乘计算,将结果存入缓存器中,然后进行求和计算,完成矩阵并行计算。。
采用上述技术方法,本发明实现的有益效果是:
本发明实施例提供的一种电脑加速系统及方法,针对复杂算法中矩阵运算量大,计算复杂,耗时多,制约算法在线计算性能的问题,从硬件实现角度,设计了电脑加速系统进行矩阵并行计算的方案。首先根据矩阵算法分析,设计了矩阵运算并行计算结构。并通过主接口模块挂在处理器上,作为硬件加速器。能够使得电脑在进行矩阵运算的时候,速度更快,效率更高。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种电脑加速系统的系统结构示意图。
图2示出了本发明实施例提供的一种电脑加速方法的方法流程示意图。
图标:100-任务逻辑功能模块,200-主接口模块,300-从接口模块,400-片上存储器,500-处理器。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
一种电脑加速系统,其特征在于,所述系统包括:
任务逻辑功能模块,用于实现矩阵运算的基本功能;
主接口模块,用于从片上存储器中读取数据,将其传递给任务逻辑功能模块进行运算,并将运算结果写到片上存储器中;
从接口模块,用于接收处理器发送过来的地址和控制字,并传递给主接口模块,同时从从主接口模块读取任务逻辑功能模块的工作状态,提供给处理器读取;
片上存储器,用于存放矩阵运算数据;
处理器,用于发送动作指令以及读取任务逻辑功能模块的工作状态。
进一步的,所述任务逻辑功能模块包括:
第一目标矩阵存储模块,用于存储进行计算的第一目标矩阵;
第二目标矩阵存储模块,用于存储进行计算的第二目标矩阵;
寄存器模块,用于暂存指令、数据和地址;
高性能点乘计算单元,用于进行矩阵的点乘计算;
缓存器,用于缓存数据信息
高性能求和计算单元,用于进行矩阵的求和计算。
进一步的,所述主接口模块包括:
状态机,用于指导各个功能模块间的工作时序;
总线读写器,用于从总线中读写数据;
结果存储器,用于存储结果数据;
数据存储器,用于存储中间数据;
逻辑读写器,用于从逻辑单元中读写数据。
进一步的,所述处理器包括:
状态表:用于记载系统中的状态;
第一矩阵表:用于记载第一矩阵的状态;
第二矩阵表:用于记载第二矩阵的状态;
结果地址表:用于记载结果的地址信息。
第二实施例
一种电脑加速方法,其特征在于,所述方法包括:
步骤1:向电脑加速系统写入矩阵在片上存储器中的存储地址,包括数据地址和结果地址;
步骤2:向电脑加速系统写使能控制字;
步骤3:循环读取电脑加速系统工作状态,判断是否运算结束;
步骤4:运算完成后,处理器向电脑加速系统写结束控制字。
,所述电脑加速系统进行矩阵运算的方法包括:
步骤A:对矩阵进行分块处理,然后对各个矩阵块进行并行运算;
步骤B:对矩阵完成分块处理后,各矩阵块并行点乘计算,将结果存入缓存器中,然后进行求和计算,完成矩阵并行计算。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个单元、程序段或代码的一部分,所述单元、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能单元可以集成在一起形成一个独立的部分,也可以是各个单元单独存在,也可以两个或两个以上单元集成形成一个独立的部分。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Onl8Memor8)、随机存取存储器(RAM,RandomAccess Memor8)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (6)
1.一种电脑加速系统,其特征在于,所述系统包括:
任务逻辑功能模块,用于实现矩阵运算的基本功能;
主接口模块,用于从片上存储器中读取数据,将其传递给任务逻辑功能模块进行运算,并将运算结果写到片上存储器中;
从接口模块,用于接收处理器发送过来的地址和控制字,并传递给主接口模块,同时从从主接口模块读取任务逻辑功能模块的工作状态,提供给处理器读取;
片上存储器,用于存放矩阵运算数据;
处理器,用于发送动作指令以及读取任务逻辑功能模块的工作状态。
2.如权利要求1所述的电脑加速系统,其特征在于,所述任务逻辑功能模块包括:
第一目标矩阵存储模块,用于存储进行计算的第一目标矩阵;
第二目标矩阵存储模块,用于存储进行计算的第二目标矩阵;
寄存器模块,用于暂存指令、数据和地址;
高性能点乘计算单元,用于进行矩阵的点乘计算;
缓存器,用于缓存数据信息
高性能求和计算单元,用于进行矩阵的求和计算。
3.如权利要求2所述的电脑加速系统,其特征在于,所述主接口模块包括:
状态机,用于指导各个功能模块间的工作时序;
总线读写器,用于从总线中读写数据;
结果存储器,用于存储结果数据;
数据存储器,用于存储中间数据;
逻辑读写器,用于从逻辑单元中读写数据。
4.如权利要求3所述的电脑加速系统,其特征在于,所述处理器包括:
状态表:用于记载系统中的状态;
第一矩阵表:用于记载第一矩阵的状态;
第二矩阵表:用于记载第二矩阵的状态;
结果地址表:用于记载结果的地址信息。
5.一种基于权利要求1至4之一所述的电脑加速系统的电脑加速方法,其特征在于,所述方法包括:
步骤1:向电脑加速系统写入矩阵在片上存储器中的存储地址,包括数据地址和结果地址;
步骤2:向电脑加速系统写使能控制字;
步骤3:循环读取电脑加速系统工作状态,判断是否运算结束;
步骤4:运算完成后,处理器向电脑加速系统写结束控制字。
6.如权利要求5所述的电脑加速方法,其特征在于,所述电脑加速系统进行矩阵运算的方法包括:
步骤A:对矩阵进行分块处理,然后对各个矩阵块进行并行运算;
步骤B:对矩阵完成分块处理后,各矩阵块并行点乘计算,将结果存入缓存器中,然后进行求和计算,完成矩阵并行计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710617512.6A CN107391447A (zh) | 2017-07-26 | 2017-07-26 | 一种电脑加速系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710617512.6A CN107391447A (zh) | 2017-07-26 | 2017-07-26 | 一种电脑加速系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107391447A true CN107391447A (zh) | 2017-11-24 |
Family
ID=60341589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710617512.6A Pending CN107391447A (zh) | 2017-07-26 | 2017-07-26 | 一种电脑加速系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107391447A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446096A (zh) * | 2018-03-21 | 2018-08-24 | 杭州中天微系统有限公司 | 数据计算系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360344A (zh) * | 2011-10-10 | 2012-02-22 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
CN103678257A (zh) * | 2013-12-20 | 2014-03-26 | 上海交通大学 | 基于fpga的正定矩阵浮点求逆器及其求逆方法 |
CN104317768A (zh) * | 2014-10-15 | 2015-01-28 | 中国人民解放军国防科学技术大学 | 面向cpu+dsp异构系统的矩阵乘加速方法 |
CN104572587A (zh) * | 2014-12-23 | 2015-04-29 | 中国电子科技集团公司第三十八研究所 | 数据矩阵相乘的加速运算方法和装置 |
CN105608056A (zh) * | 2015-11-09 | 2016-05-25 | 南京大学 | 一种基于Flink的大规模矩阵并行化的计算方法 |
-
2017
- 2017-07-26 CN CN201710617512.6A patent/CN107391447A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102360344A (zh) * | 2011-10-10 | 2012-02-22 | 西安交通大学 | 矩阵处理器及其指令集和嵌入式系统 |
CN103678257A (zh) * | 2013-12-20 | 2014-03-26 | 上海交通大学 | 基于fpga的正定矩阵浮点求逆器及其求逆方法 |
CN104317768A (zh) * | 2014-10-15 | 2015-01-28 | 中国人民解放军国防科学技术大学 | 面向cpu+dsp异构系统的矩阵乘加速方法 |
CN104572587A (zh) * | 2014-12-23 | 2015-04-29 | 中国电子科技集团公司第三十八研究所 | 数据矩阵相乘的加速运算方法和装置 |
CN105608056A (zh) * | 2015-11-09 | 2016-05-25 | 南京大学 | 一种基于Flink的大规模矩阵并行化的计算方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446096A (zh) * | 2018-03-21 | 2018-08-24 | 杭州中天微系统有限公司 | 数据计算系统 |
US11243771B2 (en) | 2018-03-21 | 2022-02-08 | C-Sky Microsystems Co., Ltd. | Data computing system |
US11972262B2 (en) | 2018-03-21 | 2024-04-30 | C-Sky Microsystems Co., Ltd. | Data computing system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109214238B (zh) | 多目标跟踪方法、装置、设备及存储介质 | |
US11176415B2 (en) | Assisted image annotation | |
CN108335313A (zh) | 图像分割方法及装置 | |
CN109754359B (zh) | 一种应用于卷积神经网络的池化处理的方法及系统 | |
CN107305534A (zh) | 对使用NVMe接口的装置同时进行的内核模式和用户模式访问 | |
CN107609466A (zh) | 人脸聚类方法、装置、设备及存储介质 | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
CN110334357A (zh) | 一种命名实体识别的方法、装置、存储介质及电子设备 | |
EP3657402A1 (en) | Pruning neural networks that include element-wise operations | |
CN110991513A (zh) | 一种具有类人连续学习能力的图像目标识别系统及方法 | |
EP4209959A1 (en) | Target identification method and apparatus, and electronic device | |
CN108664975A (zh) | 一种维吾尔文手写字母识别方法、系统及电子设备 | |
CN111860484B (zh) | 一种区域标注方法、装置、设备及存储介质 | |
CN107578107A (zh) | 模型训练方法和装置 | |
CN107391447A (zh) | 一种电脑加速系统及方法 | |
CN110347841A (zh) | 一种文档内容分类的方法、装置、存储介质及电子设备 | |
CN112200310B (zh) | 智能处理器、数据处理方法及存储介质 | |
CN106201918A (zh) | 一种基于大数据量和大规模缓存快速释放的方法和系统 | |
CN112669419A (zh) | 用于渲染的方法、中央处理器、图像处理器、系统和存储介质 | |
US20170131183A1 (en) | Device, method, and program for crash simulation | |
CN116309643A (zh) | 人脸遮挡分确定方法、电子设备及介质 | |
CN107403336A (zh) | 基于流数据的评分方法和装置 | |
CN111753736A (zh) | 基于分组卷积的人体姿态识别方法、装置、设备和介质 | |
Ding et al. | A deep learning approach to writer identification using inertial sensor data of air-handwriting | |
CN110728355A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171124 |