CN116561051B - 一种硬件加速卡和异构计算系统 - Google Patents
一种硬件加速卡和异构计算系统 Download PDFInfo
- Publication number
- CN116561051B CN116561051B CN202310376300.9A CN202310376300A CN116561051B CN 116561051 B CN116561051 B CN 116561051B CN 202310376300 A CN202310376300 A CN 202310376300A CN 116561051 B CN116561051 B CN 116561051B
- Authority
- CN
- China
- Prior art keywords
- binary operation
- data
- operators
- input data
- processed
- 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
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 92
- 238000012545 processing Methods 0.000 claims description 25
- 230000001360 synchronised effect Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000007792 addition Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000017525 heat dissipation Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Abstract
本发明提供一种硬件加速卡和异构计算系统,该硬件加速卡包含存储单元和用于二元运算的加速核,加速核中包含多路并行的二元运算算子,存储单元接收来自注册有硬件加速卡驱动的CPU服务器通过预设接口输入的待处理数据,并将输入到存储单元中的待处理数据分配到加速核中;加速核对待处理数据进行二元运算并将二元运算结果输出到硬件加速卡的存储单元,存储单元将二元运算结果向CPU服务器进行反馈;其中,加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果。本发明能够通过构建异构计算系统增强CPU服务器的算力。
Description
技术领域
本发明涉及二元运算技术领域,尤其涉及一种硬件加速卡和异构计算系统。
背景技术
随着互联网技术的高速发展,大量的数据不断产生,为安全有效地存储、检索和管理如此大规模的数据,使用数据库来进行高效且条理分明的存储和管理。
随着技术的发展,磁盘读写、网络带宽性能的不断提升,数据库领域的性能瓶颈已转移到算力上,而现有的CPU服务器无法提供足够的算力以支撑现有的大数据规模业务。
因此,如何提供更强算力以应对日益增长的大数据规模业务是一个亟待解决的技术问题。
发明内容
鉴于此,本发明实施例提供了一种硬件加速卡和异构计算系统,以消除或改善现有技术中存在的一个或更多个缺陷。
本发明的一个方面提供了一种硬件加速卡,所述硬件加速卡包含存储单元和用于二元运算的加速核,所述加速核中包含多路并行的二元运算算子;
所述存储单元接收来自注册有所述硬件加速卡驱动的CPU服务器通过预设接口输入的待处理数据,并将输入到存储单元中的待处理数据分配到所述加速核中,其中,所述待处理数据包括第一输入数据、第二输入数据和参数集,所述参数集至少包括运算操作符;
所述加速核对待处理数据进行二元运算并将二元运算结果输出到所述硬件加速卡的存储单元,所述存储单元将二元运算结果通过所述预设接口向CPU服务器进行反馈;
所述加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果。
在本发明的一些实施例中,所述存储单元的类型为双倍速率同步动态随机存储器DDR;所述双倍速率同步动态随机存储器DDR的主频规格、双倍速率同步动态随机存储器DDR的读模块频率和二元运算比特长度决定加速核能够单次输入的待处理数据和单次输出的二元运算结果的宽度。
在本发明的一些实施例中,所述硬件加速卡的类型为如下任一种:3D加速卡、数据处理器DPU、现场可编程门阵列FPGA、专用集成电路ASIC和数字信号处理芯片DSP。
在本发明的一些实施例中,所述硬件加速卡向所述CPU服务器提供驱动,所述驱动将硬件加速卡抽象为CPU服务器的数据处理模块的扩展提供给所述CPU服务器,使得硬件加速卡通过硬件逻辑实现对CPU服务器的待处理数据的流水线处理。
在本发明的一些实施例中,所述加速核顺序将第一输入数据和第二输入数据以二元运算比特长度分别划分到各路二元运算算子中,所述二元运算比特长度为8比特、16比特、32比特或64比特。
在本发明的一些实施例中,所述第一输入数据、所述第二输入数据和所述二元运算结果是数组形式存储的列式数据。
在本发明的一些实施例中,所述运算操作符的类型包括比较运算符、计算运算符、位运算符和逻辑运算符;所述比较运算符包括大于比较运算符、小于比较运算符、大于等于比较运算符、小于等于比较运算符、不等于比较运算符和等于比较运算符;所述计算运算符包括加法计算运算符、减法计算运算符、乘法计算运算符、除法计算运算符和取余计算运算符;所述位运算符包括位与运算符、位或运算符和位异或运算符;所述逻辑运算符包括逻辑与运算符和逻辑或运算符。
在本发明的一些实施例中,所述硬件加速卡包含的用于运算的加速核数量为多个;各个加速核之间相互独立的对不同待处理数据进行二元运算,或者,各个加速核并发的对不同待处理数据进行二元运算。
在本发明的一些实施例中,所述预设接口为PCIe接口;参数集还包括第一输入数据和第二输入数据中包含的二元运算比特长度的个数,所述第一输入数据和第二输入数据中包含的二元运算比特长度的个数用于指示待处理数据的数据流结束的位置。
本发明的另一方面提供了一种包含上述实施例中任一项所述硬件加速卡的异构计算系统,该异构计算系统包括CPU服务器和硬件加速卡;
所述CPU服务器将待处理数据通过预设接口输入到硬件加速卡的存储单元,所述硬件加速卡将输入到存储单元中的待处理数据分配到硬件加速卡的加速核中,所述加速核对待处理数据进行二元运算并将二元运算结果输出到所述硬件加速卡的存储单元,所述存储单元将二元运算结果通过所述预设接口向CPU服务器进行反馈;其中,所述待处理数据包括第一输入数据、第二输入数据和参数集,所述参数集至少包括运算操作符;
其中,所述加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果。
本发明所提供的硬件加速卡和基于硬件加速卡的异构计算系统,对来自服务器的待处理数据基于硬件逻辑实现顺序处理,通过硬件加速卡的加速核内的多个二元运算算子进行二元运算,有效增强CPU服务器的算力,以应对日益复杂的大数据规模业务场景。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例中硬件加速卡执行二元运算的架构示意图。
图2为本发明一实施例中硬件加速卡的加速核的架构示意图。
图3为本发明一实施例中输入的待处理数据和输出二元运算结果的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
一方面现有的CPU服务器的不能提供足够的算力以支撑现有的大数据规模业务,另一方面,通过提升CPU时钟频率和内核数量而提高计算能力的传统方法遇到了散热和能耗的瓶颈。因此,为了解决现有技术存在的问题,本发明提供了一种硬件加速卡和异构计算系统,所述硬件加速卡能够和CPU服务器形成一种基于硬件逻辑有序执行的异构计算系统,通过硬件逻辑实现对来自CPU服务器的待处理数据的流水线处理,通过硬件加速卡上的加速核中二元运算算子增加二元运算的效率,以辅助提高CPU服务器的算力水平。
图1为本发明一实施例中硬件加速卡执行二元运算的架构示意图,其中,所述硬件加速卡包含存储单元和用于二元运算的加速核,加速核中包含多路并行的二元运算算子。其中,二元运算是指由两个元素组成第三个元素的一种规则,算子是针对数据库中的数据进行简单处理的数据处理单元,如聚合、连接、逻辑运算等。
(1)硬件加速卡的工作流程为:存储单元接收来自注册有硬件加速卡驱动的CPU服务器通过预设接口输入的待处理数据,并将输入到存储单元中的待处理数据分配到加速核中,加速核对待处理数据进行二元运算并将二元运算结果输出到硬件加速卡的存储单元,存储单元将二元运算结果通过预设接口向CPU服务器进行反馈。其中,待处理数据包括第一输入数据、第二输入数据和参数集,参数集至少包括运算操作符。
其中,第一输入数据、所述第二输入数据和所述二元运算结果是数组形式存储的列式数据,所述预设接口为PCIe接口,CPU服务器是以CPU作为处理核心的服务器,硬件加速卡是指在计算机中通过把计算量非常大的工作分配给专门的硬件来处理以减轻中央处理器的工作量的运算卡。常见的硬件加速卡包括通过图形加速卡(GPU)加速对3D图形的运算和处理。此外,所述硬件加速卡的类型还包括专用数据处理芯片(Data Processing Unit,DPU)和现场可编程门阵列FPGA。
其中,硬件加速卡与CPU服务器协同工作的过程为异构计算/异质运算,异构计算指的是使用不同类型指令集和体系架构的计算单元组成系统的计算方式。所述硬件加速卡的类型包括CPU、GPU等协处理器、数字信号处理芯片(Digital Signal Processing,DSP)、专用集成电路ASIC、现场可编程门阵列FPGA。异构计算能够通过有效攻克目前的提升CPU时钟频率和内核数量而提高计算能力的传统方法所遇到的散热和能耗瓶颈。
(2)进一步地,在硬件加速卡的加速核内的工作流程为:加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果。其中,各路二元运算算子基于参数集中的运算操作符并行执行相应的二元运算,所述该多路二元运算算子的并行处理能够有效提高计算能力。
其中,所述二元运算算子的功能定义为:每个二元运算算子所处理的数据长度为二元运算长度(为16bit、32bit或64bit),单次输入预设长度(例如512bit)的待处理数据,包含预设长度的第一输入数据、第二输入数据和参数集,如图3所示的512bit第一输入数据、512bit的第二输入数据和对应的参数集中包含的唯一的运算操作符,每个二元运算算子对二元运算长度的(为8bit、16bit、32bit或64bit)的比特位进行相应的二元运算,并输出512bit长度的二元运算结果。其中,图3为本发明一实施例中输入的待处理数据和输出二元运算结果的流程图。在本发明一些实施例中,每一串待处理数据对应的比特流所执行的二元运算是相同的,都与该唯一的运算操作符相对应。
图2为本发明一实施例中硬件加速卡的加速核的架构示意图,如图2所示,所述二元运算算子包括:
(1)输入数据A(即第一输入数据):列式数据,数组形式。
(2)输入数据B(即第二输入数据):列式数据,数组形式。
(3)参数集C:包括数据长度及运算操作符。
(4)输出数据D(即二元运算结果):列式数据,数组形式。
在本发明一实施例中,在所述硬件加速卡的加速核中定义了适配的运算操作符类型,在所述硬件加速卡的加速核中还定义了二元运算长度。
例如,单次输入/输出的数据宽度为512bit,单个数据的宽度为64bit,8路并行。其中,8路并行仅为示例。单次输入/输出的数据宽度受存储单元DDR的贷款和输入模块的主频联合决定。例如,DDR为DDR3 2400的规格,即2.4G主频,64bit数据宽度,带宽为2.4GHz*64bit=153.6Gb/s;读模块的频率为300MHz,则输入/输出的数据宽度为153.6Gb/s/300MHz=512bit。单个数据也可以是32bit、16bit等数据宽度;数据的并行力度这里由输入数据宽度为512bit及单个数据宽度联合决定:如果输入数据为512bit,单个数据宽度为64bit,则运算模块为8路并行。以上参数仅为示例,凡是本领域技术人员容易想到的变形,均属于本发明所请求保护的技术范围。
在本发明一实施例中,存储单元的类型为双倍速率同步动态随机存储器DDR。其中,双倍速率同步动态随机存储器DDR在持续更新迭代,目前最新版本为DDR5,新版本的DDR兼容旧版本的DDR。
进一步地,基于双倍速率同步动态随机存储器DDR的主频规格、双倍速率同步动态随机存储器DDR的读模块频率和二元运算比特长度决定加速核能够单次输入的待处理数据和单次输出的二元运算结果的宽度。例如,采用2.4G主频的DDR3存储单元,数据宽度(即二元运算比特长度)为64bit,则带宽为2.4GHz*64bit=153.6Gb/s,而读模块的频率为300MHz,则单次输入的待处理数据和单次输出的二元运算结果的宽度为153.6(Gb/s)/300MHz=512bit,即单次可以输入512比特长度的字符串。
在本发明一实施例中,硬件加速卡的类型为如下任一种:3D加速卡、数据处理器DPU、现场可编程门阵列FPGA、专用集成电路ASIC和数字信号处理芯片DSP。本发明不限于此,以上硬件加速卡的类型仅为示例,凡是包含本发明所述硬件加速卡的结构并能实现相应功能的运算卡均属于本发明请求保护的范围。
在本发明一实施例中,硬件加速卡向CPU服务器提供驱动,驱动将硬件加速卡抽象为CPU服务器的数据处理模块的扩展提供给所述CPU服务器,使得硬件加速卡通过硬件逻辑实现对CPU服务器的待处理数据的流水线处理。该通过硬件逻辑实现的对来自服务器的待处理数据的流水线处理,能够保证硬件加速卡的加速核在每个时钟周期都在处理数据。基于所述驱动,在硬件加速卡和CPU处理器之间建立一个空间上的映射,将所述硬件加速卡抽象虚拟为在CPU处理器上的“运算单元”。
在本发明一实施例中,硬件加速卡的加速核顺序将第一输入数据和第二输入数据以二元运算比特长度分别划分到各路二元运算算子中,其中,该二元运算比特长度为8比特、16比特、32比特或64比特。本发明不限于此,以上二元运算比特长度仅为示例,例如还可以为128比特长度的,虽然目前市面上尚不流行此比特长度的数据。
在本发明一实施例中,第一输入数据、所述第二输入数据和所述二元运算结果是数组形式存储的列式数据。本发明不限于此,例如还可以是数组形式或多元矩阵形式存储的行式数据。
在本发明一些实施例中,运算操作符的类型包括比较运算符、计算运算符、位运算符和逻辑运算符,其中:
(1)比较运算符包括大于比较运算符、小于比较运算符、大于等于比较运算符、小于等于比较运算符、不等于比较运算符和等于比较运算符;
(2)计算运算符包括加法计算运算符、减法计算运算符、乘法计算运算符、除法计算运算符和取余计算运算符;
(3)位运算符包括位与运算符、位或运算符和位异或运算符;
(4)逻辑运算符包括逻辑与运算符和逻辑或运算符。
二元运算算子所支持的操作符列表如下(列与列是两列数据之间的运算;列与值是单列数据与常量间的运算):
以上运算操作符仅为示例,本发明并不限于此,例如还可以包含逻辑非、逻辑异或等二元运算的运算符。
在本发明一实施例中,硬件加速卡包含的用于运算的加速核数量为多个,各个加速核之间相互独立的对不同待处理数据进行二元运算,或者,各个加速核并发的对不同待处理数据进行二元运算。也就是说,各个加速核之间可以是相互独立的对不同待处理数据进行二元计算,不同加速核处理不同的数据流,也可以是各个加速核之间通过与操作系统中并发相类似的原理对不同的待处理数据进行二元运算。
在本发明一实施例中,该预设接口为PCIe接口。该接口仅为示例,本发明并不限于此,例如还可以是PCI接口,虽然这个接口目前已经大部分被PCIe接口所取代了。
在本发明一实施例中,参数集还包括第一输入数据和第二输入数据中包含的二元运算比特长度的个数,第一输入数据和第二输入数据中包含的二元运算比特长度的个数用于指示待处理数据的数据流结束的位置。例如,单个二元运算比特长度为64bit,第一输入数据和第二数据的长度总共包含128个64bit长度,但CPU服务器一次只能够输入8个64bit长度的内容到硬件加速卡的加速核上,参数集包含的运算操作符控制对128个bit长度的内容执行相应的二元运算。其中,在参数集上还包含第一输入数据和第二数据的总长度128,所述参数集中包含的待处理数据长度指示了该二元运算处理的开始位置与结束位置。其中,单次输入多少个64bit长度是受硬件性能影响的。
相应地,本发明还提供了一种包含上述实施例中任一项所述硬件加速卡的异构计算系统,该异构计算系统包括CPU服务器和硬件加速卡,硬件加速卡通过标准的PCIe插槽插在CPU服务器上,数据(即待处理数据)通过PCIe传输,硬件加速卡上包括存储单元及用于运算的加速核。图1为本发明一实施例中硬件加速卡执行二元运算的架构示意图。
如图1所示,该异构计算系统的工作流程如下:
(1)在异构计算任务的过程中,CPU服务器将待处理数据通过预设接口输入到硬件加速卡的存储单元,硬件加速卡将输入到存储单元中的待处理数据分配到硬件加速卡的加速核中,加速核对待处理数据进行二元运算并将二元运算结果输出到硬件加速卡的存储单元,存储单元将二元运算结果通过预设接口向CPU服务器进行反馈;其中,待处理数据包括第一输入数据、第二输入数据和参数集,所述参数集至少包括运算操作符。
(2)其中,加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果。
本发明所提供的硬件加速卡和基于硬件加速卡的异构计算系统,对来自服务器的待处理数据基于硬件逻辑实现顺序处理,通过硬件加速卡的加速核内的多个二元运算算子进行二元运算,通过多路二元算子的并行执行提高加速核的计算能力,通过硬件逻辑实现的对来自服务器的待处理数据的流水线处理,能够保证硬件加速卡的加速核在每个时钟周期都在处理数据,实现有效增强CPU服务器的算力,以应对日益复杂的大数据规模业务场景。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种硬件加速卡,其特征在于,所述硬件加速卡包含存储单元和用于二元运算的加速核,所述加速核中包含多路并行的二元运算算子;
所述存储单元接收来自注册有所述硬件加速卡驱动的CPU服务器通过预设接口输入的待处理数据,并将输入到存储单元中的待处理数据分配到所述加速核中,其中,所述待处理数据包括第一输入数据、第二输入数据和参数集,所述参数集至少包括运算操作符,参数集还包括第一输入数据和第二输入数据中包含的二元运算比特长度的个数,所述第一输入数据和第二输入数据中包含的二元运算比特长度的个数用于指示待处理数据的数据流结束的位置;
所述加速核对待处理数据进行二元运算并将二元运算结果输出到所述硬件加速卡的存储单元,所述存储单元将二元运算结果通过所述预设接口向CPU服务器进行反馈;
所述加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,所述加速核顺序将第一输入数据和第二输入数据以二元运算比特长度分别划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果;其中,各路二元运算算子基于参数集中的运算操作符并行执行相应的二元运算,所述二元运算比特长度为8比特、16比特、32比特或64比特。
2.根据权利要求1所述的硬件加速卡,其特征在于,所述存储单元的类型为双倍速率同步动态随机存储器DDR;
所述双倍速率同步动态随机存储器DDR的主频规格、双倍速率同步动态随机存储器DDR的读模块频率和二元运算比特长度决定加速核能够单次输入的待处理数据和单次输出的二元运算结果的宽度。
3.根据权利要求1所述的硬件加速卡,其特征在于,所述硬件加速卡的类型为如下任一种:3D加速卡、数据处理器DPU、现场可编程门阵列FPGA、专用集成电路ASIC和数字信号处理芯片DSP。
4.根据权利要求1所述的硬件加速卡,其特征在于,所述硬件加速卡向所述CPU服务器提供驱动,所述驱动将硬件加速卡抽象为CPU服务器的数据处理模块的扩展提供给所述CPU服务器,使得硬件加速卡通过硬件逻辑实现对CPU服务器的待处理数据的流水线处理。
5.根据权利要求1所述的硬件加速卡,其特征在于,所述第一输入数据、所述第二输入数据和所述二元运算结果是数组形式存储的列式数据。
6.根据权利要求1所述的硬件加速卡,其特征在于,所述运算操作符的类型包括比较运算符、计算运算符、位运算符和逻辑运算符;
所述比较运算符包括大于比较运算符、小于比较运算符、大于等于比较运算符、小于等于比较运算符、不等于比较运算符和等于比较运算符;
所述计算运算符包括加法计算运算符、减法计算运算符、乘法计算运算符、除法计算运算符和取余计算运算符;
所述位运算符包括位与运算符、位或运算符和位异或运算符;
所述逻辑运算符包括逻辑与运算符和逻辑或运算符。
7.根据权利要求1所述的硬件加速卡,其特征在于,所述硬件加速卡包含的用于运算的加速核数量为多个;
各个加速核之间相互独立的对不同待处理数据进行二元运算,或者,各个加速核并发的对不同待处理数据进行二元运算。
8.根据权利要求1所述的硬件加速卡,其特征在于,
所述预设接口为PCIe接口。
9.一种包含权利要求1-8中任一项所述硬件加速卡的异构计算系统,其特征在于,该异构计算系统包括CPU服务器和硬件加速卡;
所述CPU服务器将待处理数据通过预设接口输入到硬件加速卡的存储单元,所述硬件加速卡将输入到存储单元中的待处理数据分配到硬件加速卡的加速核中,所述加速核对待处理数据进行二元运算并将二元运算结果输出到所述硬件加速卡的存储单元,所述存储单元将二元运算结果通过所述预设接口向CPU服务器进行反馈;其中,所述待处理数据包括第一输入数据、第二输入数据和参数集,所述参数集至少包括运算操作符,参数集还包括第一输入数据和第二输入数据中包含的二元运算比特长度的个数,所述第一输入数据和第二输入数据中包含的二元运算比特长度的个数用于指示待处理数据的数据流结束的位置;
其中,所述加速核将第一输入数据和第二输入数据顺序划分到各路二元运算算子中,所述加速核顺序将第一输入数据和第二输入数据以二元运算比特长度分别划分到各路二元运算算子中,各路二元运算算子基于参数集中的运算操作符执行相应的二元运算,并顺序拼接各路二元运算算子的输出结果获得二元运算结果;其中,各路二元运算算子基于参数集中的运算操作符并行执行相应的二元运算,所述二元运算比特长度为8比特、16比特、32比特或64比特。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376300.9A CN116561051B (zh) | 2023-04-10 | 2023-04-10 | 一种硬件加速卡和异构计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310376300.9A CN116561051B (zh) | 2023-04-10 | 2023-04-10 | 一种硬件加速卡和异构计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116561051A CN116561051A (zh) | 2023-08-08 |
CN116561051B true CN116561051B (zh) | 2024-02-02 |
Family
ID=87497380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310376300.9A Active CN116561051B (zh) | 2023-04-10 | 2023-04-10 | 一种硬件加速卡和异构计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561051B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117332126A (zh) * | 2023-09-11 | 2024-01-02 | 中科驭数(北京)科技有限公司 | 字符串过滤方法、装置、加速卡及介质 |
CN116991564B (zh) * | 2023-09-28 | 2024-01-09 | 之江实验室 | 面向异构双核mcu的算子内并行加速方法 |
CN117331945A (zh) * | 2023-10-31 | 2024-01-02 | 中科驭数(北京)科技有限公司 | 数据处理方法、装置、计算机存储介质及加速卡 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120077177A (ko) * | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 프로세서를 이용하는 갈로아 필드 이진 다항식 제산 장치 및 방법 |
CN105808402A (zh) * | 2014-12-31 | 2016-07-27 | 天津益华微电子有限公司 | 一种基于pli或vpi的仿真硬件加速器的soc芯片 |
CN106371808A (zh) * | 2015-07-22 | 2017-02-01 | 华为技术有限公司 | 一种并行计算的方法及终端 |
CN107632957A (zh) * | 2017-09-11 | 2018-01-26 | 南京弹跳力信息技术有限公司 | 一种基于大规模fpga芯片的计算加速系统及其加速方法 |
CN109491934A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种集成计算功能的存储管理系统控制方法 |
CN110413561A (zh) * | 2018-04-28 | 2019-11-05 | 北京中科寒武纪科技有限公司 | 数据加速处理系统 |
CN113420517A (zh) * | 2021-05-28 | 2021-09-21 | 清华大学 | 面向云端深度学习推理的fpga虚拟化硬件系统栈设计 |
CN114416182A (zh) * | 2022-03-31 | 2022-04-29 | 深圳致星科技有限公司 | 用于联邦学习和隐私计算的fpga加速器和芯片 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3532860B2 (ja) * | 2001-01-22 | 2004-05-31 | 株式会社東芝 | 剰余系表現を利用した演算装置及び方法及びプログラム |
US8214414B2 (en) * | 2008-09-30 | 2012-07-03 | Intel Corporation | Combined set bit count and detector logic |
US10133504B2 (en) * | 2016-04-06 | 2018-11-20 | Futurewei Technologies, Inc. | Dynamic partitioning of processing hardware |
US10649927B2 (en) * | 2018-08-20 | 2020-05-12 | Intel Corporation | Dual in-line memory module (DIMM) programmable accelerator card |
CN109359732B (zh) * | 2018-09-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种芯片及基于其的数据处理方法 |
-
2023
- 2023-04-10 CN CN202310376300.9A patent/CN116561051B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120077177A (ko) * | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 프로세서를 이용하는 갈로아 필드 이진 다항식 제산 장치 및 방법 |
CN105808402A (zh) * | 2014-12-31 | 2016-07-27 | 天津益华微电子有限公司 | 一种基于pli或vpi的仿真硬件加速器的soc芯片 |
CN106371808A (zh) * | 2015-07-22 | 2017-02-01 | 华为技术有限公司 | 一种并行计算的方法及终端 |
CN107632957A (zh) * | 2017-09-11 | 2018-01-26 | 南京弹跳力信息技术有限公司 | 一种基于大规模fpga芯片的计算加速系统及其加速方法 |
CN110413561A (zh) * | 2018-04-28 | 2019-11-05 | 北京中科寒武纪科技有限公司 | 数据加速处理系统 |
CN109491934A (zh) * | 2018-09-28 | 2019-03-19 | 方信息科技(上海)有限公司 | 一种集成计算功能的存储管理系统控制方法 |
CN113420517A (zh) * | 2021-05-28 | 2021-09-21 | 清华大学 | 面向云端深度学习推理的fpga虚拟化硬件系统栈设计 |
CN114416182A (zh) * | 2022-03-31 | 2022-04-29 | 深圳致星科技有限公司 | 用于联邦学习和隐私计算的fpga加速器和芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN116561051A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116561051B (zh) | 一种硬件加速卡和异构计算系统 | |
US9870341B2 (en) | Memory reduction method for fixed point matrix multiply | |
US8108659B1 (en) | Controlling access to memory resources shared among parallel synchronizable threads | |
Kim et al. | In-storage processing of database scans and joins | |
KR102028252B1 (ko) | 자율 메모리 아키텍처 | |
EP2798461B1 (en) | Low latency cluster computing | |
WO2014090092A1 (en) | Sequential location accesses in an active memory device | |
Lant et al. | Toward FPGA-based HPC: Advancing interconnect technologies | |
US20140143524A1 (en) | Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus | |
CN115033188B (zh) | 一种基于zns固态硬盘的存储硬件加速模块系统 | |
CN110287038A (zh) | 提升Spark Streaming框架的数据处理效率的方法及系统 | |
KR20110028212A (ko) | 자율 서브시스템 아키텍처 | |
CN105637524A (zh) | 硬件平台中的资产管理设备和方法 | |
Lou et al. | RV-CNN: Flexible and efficient instruction set for CNNs based on RISC-V processors | |
US11586355B2 (en) | Selectively operable memory device | |
US20190294442A1 (en) | Computer system and memory access technology | |
CN102279728B (zh) | 数据存储设备及数据计算方法 | |
CN110750210B (zh) | 存储系统 | |
CN117271953A (zh) | 一种用于优化快速傅里叶变换的存内计算加速电路及方法 | |
CN111475205A (zh) | 一种基于数据流解耦合的粗粒度可重构阵列结构设计方法 | |
US20220229723A1 (en) | Low overhead error correction code | |
Werner et al. | Accelerated join evaluation in Semantic Web databases by using FPGAs | |
US11409840B2 (en) | Dynamically adaptable arrays for vector and matrix operations | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
Hu et al. | Design of a simulation model for high performance LINPACK in hybrid CPU-GPU systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |