CN113392065A - 异构计算***及计算方法 - Google Patents
异构计算***及计算方法 Download PDFInfo
- Publication number
- CN113392065A CN113392065A CN202110795428.XA CN202110795428A CN113392065A CN 113392065 A CN113392065 A CN 113392065A CN 202110795428 A CN202110795428 A CN 202110795428A CN 113392065 A CN113392065 A CN 113392065A
- Authority
- CN
- China
- Prior art keywords
- heterogeneous computing
- memory
- data
- heterogeneous
- chip
- 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
Images
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/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7864—Architectures of general purpose stored program computers comprising a single central processing unit with memory on more than one IC chip
-
- 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/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种异构计算***,包括多个异构计算核心、片外存储部分、总线***以及多个节点,每个节点对应一个异构计算核心,不同节点可根据具体应用场景的不同配置为不同异构计算核心,节点之间从纵向和横向分别交叉连接,形成交叉总线。本发明提供的***以具备易编程、可扩展、高性能、低功耗特性的神经网络智能芯片板卡MLU为基础搭建异构计算平台,以充分发挥智能芯片在高性能、低功耗、可扩展性等诸多方面的优势,整体能够提供的负载功率有限,同时面对数据量大,对速度要求高的复杂场景,同时对安全性和可靠性有需求,在部分出现故障的情况下,***依然可以运行。
Description
技术领域
本发明属于芯片技术应用领域。涉及一种支撑人工智能的应用的异构计算体系,尤其涉及一种基于人工智能的推理运算的异构计算***及计算方法。
背景技术
目前单一的商用芯片难以适应需求。不足以快速、高效、低功耗地支撑人工智能的应用,需要一套异构的计算体系,来支持异构计算的需求。传统应用,某些特殊场景的应用除了具有数据量大、难以快速处理等问题之外,同时对安全性以及可靠性有较大的需求。。
发明内容
为了克服现有技术的缺陷,本发明需要解决的技术问题是既要满足不同载荷数据处理应用的特殊需求,又要具有一定的通用性,具有标准化、模块化、可扩展的特点,还要具有可重构、可容错能力,满足特殊空间环境应用需求。构建的处理平台能够通过简单的模块组合就可以快速实现不同的类型的数据处理应用需求。
针对现有技术中的缺陷,本发明提出了一种异构计算***,包括多个异构计算核心、片外存储部分、总线***以及多个节点,每个节点对应一个异构计算核心,不同节点可根据具体应用场景的不同配置为不同异构计算核心,节点之间从纵向和横向分别交叉连接,形成交叉总线,整个交叉总线的纵向和横向的节点数量主要由具体应用场景和***整体性能、功耗指标所确定;
任意一个节点可完成单独一个子任务或一个完整任务,基于所述异构计算***的人工智能应用划分为若干子任务,映射至不同计算节点中,网格中各个计算核心使用交叉总线连接;所述每个计算核心从临近的交叉总线节点获取待计算数据,计算的结果通过临近节点返回。
优选的,上述异构计算核心包括但不限于CPU、FPGA、IPU、DSP。
优选的,上述***具备协议层和物理层协议,采用SRIO总线实现***内各高速模块间的双星型点对点高速数据交互。
优选的,上述SRIO总线采用三层分级体系结构,分别为逻辑层、传输层和物理层,所述逻辑层定义了端口的全部协议、包的格式,为端点发起和完成事务提供必要信息;所述传输层定义了地址空间和在端点之间传输包所需要的路由信息和寻址机制;所述物理层描述了器件级端口信息,包括传输机制、初级流量控制、电气特性和低级错误管理等。
优选的,上述SRIO的操作基于请求和影响事务,发起端产生一个请求事务,请求事务被传送到目标端,目标端随之产生一个响应事务并返回发起端,以结束本次操作。
优选的,上述片外存储部分主要由DDR Memory、内存控制器、数据传输模块和频率调节模块组成。
优选的,上述DDR Memory作为异构计算单元计算数据的片外存储空间,同时也作为不同计算单元数据交互的中间站,内存控制器和数据传输模块负责完成数据在CPU主机端的内存与异构计算单元的片外DDR Memory之间的数据传输和DDR Memory与异构计算单元的片上存储空间的数据传输。频率调节模块负责调节异构计算核心的频率和DDR Memory的运行频率。
优选的,上述***还包括一内存管理模块,负责片外内存的管理,通过页表结构完成虚拟地址空间到物理地址空间的转换;当异构计算核心或者数据传输总线需要片外板载内存时,所述页表结构提供一个地址给内存管理部件。
优选的,上述内存管理模块将所述地址作为虚拟地址,所述地址的前一部分为页表索引;使用所述索引在页表中查询,得到实际物理地址所在页地址;得到的所述页地址即是待访存内存在板载内存中的所在页地址;配合原虚拟地址中的后半部分,即可得到物理页中真实数据的物理地址,由此物理地址就可对对应数据进行访问。
优选的,上述内存管理模块中还集成一个可选的片内缓存,以增加片外内存的读写速度。
相对于现有技术,本发明具有以下技术优势:
1.实现了技术标准化,通过标准化设计贯彻***每个环节,包括标准的体系结构技术、标准的互连技术、标准的物理接口、标准的板卡结构、标准的软件结构技术、标准的软件接口技术等方面。标准化设计可以使软硬件模块具有更好的通用性和互换性,提高处理平台的可靠性。在标准化的基础上,将多种独立功能设计为相对独立的功能模块,并定义尽量完善的功能模块以满足整个处理平台的需求。整个数据处理平台由可编程的标准模块构成,可以通过对模块的编程适应不同应用的需求、通过模块数量的扩展适应不同处理量的需求。
2.具有可扩展性,数据处理平台可以通过增加(或删除)某个模块,从而带来功能或者能力的增加(或减少)。将***设计成独立的功能模块组合,模块之间通过具有可扩展性的互连网络连接,可以使得处理平台具有良好的可扩展性。
3.具有可重构性,通过模块之间组配形式的调整、互连形式的调整或者数据流的调整,通过较少的资源构建最大化的功能,通过灵活自主地组态实现智能化控制。可重构设计可以方便调整优化***处理流程和参数,以适应不同载荷数据的处理需求。因此模块化设计和可扩展的互连结构,可以确保数据处理平台具有可重构特性。
4.可容错性,从整机***设计的角度,使***在出现故障的情况下仍然能够完成既定任务。容错技术的核心是用线性增加的冗余资源来换取指数增长的可靠性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明异构计算核心的互联组织方式结构示意图;
图2示出了本发明基于FPGA的数据交换框图;
图3示出了本发明片外内存管理模块图;
图4(a)-4(d)示出了本发明黑盒建模方式示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明提供一种异构计算***的实施例,包括多个异构计算核心、片外存储部分、总线***以及多个节点,每个节点对应一个异构计算核心,不同节点可根据具体应用场景的不同配置为不同异构计算核心,节点之间从纵向和横向分别交叉连接,形成交叉总线,整个交叉总线的纵向和横向的节点数量主要由具体应用场景和***整体性能、功耗指标所确定;
任意一个节点可完成单独一个子任务或一个完整任务,基于所述异构计算***的人工智能应用划分为若干子任务,映射至不同计算节点中,网格中各个计算核心使用交叉总线连接;所述每个计算核心从临近的交叉总线节点获取待计算数据,计算的结果通过临近节点返回。
在一些实施例中,异构计算核心包括但不限于CPU、FPGA、IPU、DSP。
在一些实施例中,***具备协议层和物理层协议,采用SRIO总线实现***内各高速模块间的双星型点对点高速数据交互。
在一些实施例中,SRIO总线采用三层分级体系结构,分别为逻辑层、传输层和物理层,所述逻辑层定义了端口的全部协议、包的格式,为端点发起和完成事务提供必要信息;所述传输层定义了地址空间和在端点之间传输包所需要的路由信息和寻址机制;所述物理层描述了器件级端口信息,包括传输机制、初级流量控制、电气特性和低级错误管理等。
在一些实施例中,SRIO的操作基于请求和影响事务,发起端产生一个请求事务,请求事务被传送到目标端,目标端随之产生一个响应事务并返回发起端,以结束本次操作。
在一些实施例中,片外存储部分主要由DDR Memory、内存控制器、数据传输模块和频率调节模块组成。
在一些实施例中,DDR Memory作为异构计算单元计算数据的片外存储空间,同时也作为不同计算单元数据交互的中间站,内存控制器和数据传输模块负责完成数据在CPU主机端的内存与异构计算单元的片外DDR Memory之间的数据传输和DDR Memory与异构计算单元的片上存储空间的数据传输。频率调节模块负责调节异构计算核心的频率和DDRMemory的运行频率。
在一些实施例中,***还包括一内存管理模块,负责片外内存的管理,通过页表结构完成虚拟地址空间到物理地址空间的转换;当异构计算核心或者数据传输总线需要片外板载内存时,所述页表结构提供一个地址给内存管理部件。
在一些实施例中,内存管理模块将所述地址作为虚拟地址,所述地址的前一部分为页表索引;使用所述索引在页表中查询,得到实际物理地址所在页地址;得到的所述页地址即是待访存内存在板载内存中的所在页地址;配合原虚拟地址中的后半部分,即可得到物理页中真实数据的物理地址,由此物理地址就可对对应数据进行访问。
在一些实施例中,内存管理模块中还集成一个可选的片内缓存,以增加片外内存的读写速度。
本发明还提供一种异构计算***的实施例,采用并行处理技术以满足***快速增长的高速数据处理需求。在并行架构硬件和并行算法编程两个方面实现数据的高速并行处理。
并行架构硬件是实现高速并行处理的基础。通用化高速数据处理设备采用多级并行结构:在设备级使用多个计算模块构成分布存储多指令多数据流(MIMD)并行架构;在模块级使用多个处理器和FPGA组成异构并行计算节点;在处理器芯片级使用多核处理器,利用片上多核结构提升单个处理器运算能力。
为获得最大化通用性和可扩展性,在设备级采用分布存储MIMD并行架构。设备中各个计算模块具有独立的地址空间,模块间通过互联网络实现数据交互和通信。为实现对并行***拓扑结构的灵活拓展,使用高速串行总线(SRIO)和高速交换模块组成互联网络。通过配置交换模块的节点转发表,可以灵活的配置并行***的拓扑结构,以适应不同并行算法的要求。同时,通过增加冗余链路和故障检测电路,可以在单个计算模块或数据链路出现故障时,通过重新配置交换模块的节点转发表,对并行***进行拓扑重构,使***具备较强的容错性和故障隔离能力。
本发明提供的异构计算***的实施例,包含有多个异构计算核心,这些异构计算核心可以并行执行,提高数据处理的吞吐率。考虑到不同人工智能任务内部和任务之间可能的数据流形式和依赖关系,为了提高***整体灵活性,我们拟对不同计算核心按照如图1所示的2D网格的形式进行粗粒度、松耦合组织。网格中的每个节点对应一个异构计算核心(包括CPU、FPGA、IPU、DSP),不同节点可根据具体应用场景的不同配置为不同异构计算核心。任意一个节点可完成单独一个子任务或一个完整任务。一个完整的人工智能应用可以划分为若干子任务,映射至不同计算节点中。网格中各个计算核心使用交叉总线连接。每个计算核心从临近的交叉总线节点获取待计算数据,计算的结果也可通过临近节点返回。整个交叉总线的纵向和横向的节点数量主要由具体应用场景和***整体性能、功耗指标所确定。网格上的数据以及异构计算核心所产生的数据都是通过交叉总线路由传递到目的地。
在数据处理平台中,统一架构的总线***是整个***硬件实现的核心。数据处理平台选用的高速串行总线应当在满足通信带宽需求的前提下,具备完善可靠的协议层和物理层协议,具备较高的传输效率,完善的产品支持,还要具备灵活性、可扩展和前瞻性等特点。
因此,通用化数据处理平台采用SRIO总线实现***内各高速模块间的双星型点对点高速数据交互。SRIO主要着眼于紧耦合***的内部互连,支持芯片到芯片、板到板间的通讯,可实现多种拓扑结构。SRIO采用三层分级体系结构,分别为逻辑层、传输层和物理层。逻辑层定义了端口的全部协议、包的格式,为端点发起和完成事务提供必要信息;传输层定义了地址空间和在端点之间传输包所需要的路由信息和寻址机制;物理层描述了器件级端口信息,包括传输机制、初级流量控制、电气特性和低级错误管理等。SRIO的操作基于请求和影响事务,发起端产生一个请求事务,请求事务被传送到目标端,目标端随之产生一个响应事务并返回发起端,以结束本次操作。数据传输由包和控制字符组成,包是终端间的基本通讯单元,由有效数据载荷和附加信息字段构成。控制字符用于管理终端节点及交换器件间物理层互连的事务流和数据包的确认、流量控制及维护。
根据Switch实现方式的不同,目前基于Rapid IO互联技术的高速交换网络一般有两种实现方案:一种方案是采用专用交换芯片进行数据交换。如IDT公司的CPS1848芯片,该芯片基于Rapid IO 2.1规范,共有48路串行通道,可以灵活配置为12×4、18×2、18×1的端口工作方式,端口数最多可以配置为18个,芯片内部交换带宽达到240Gbps,提供无阻塞的全双工交换能力。通过多组交换芯片环形串联,扩展支持的交换端口数量。另一种方案是采用FPGA进行数据交换,即采用FPGA内嵌IP核实现Rapid IO协议规范,并配以相应的路由算法完成高速数据的交换,如图2所示。
本实施例中FPGA是数据交换的主要承担者,其内部主要由SRIO接收逻辑、各个端口和通道的接收缓冲队列、交换开关、包队列优先级调度逻辑、各端口发送缓冲队列、流控逻辑、SRIO发送逻辑组成。FPGA收到数据包后,按照SRIO协议对数据进行解包,首先判断数据包类型,如果是维护包,则直接操作相关的寄存器;如果是普通数据包,得到数据包目的端点,然后交换查询路由表,根据目的端点确定数据包路由,决定由哪个目的端口发出。
由于采用专用芯片进行配置的交换网络的交换效率和速率较高,性能优良,但数据路由路径相对固定,灵活性较低。而基于FPGA控制的数据交换方案的数据路由路径适应性高,可充分利用FPGA内部资源实现复杂的路由算法,配置方法灵活,使得***的可重构可扩展变得非常容易,具有很强的适应性,适用于通用化数据处理平台***。因此本实施例人工智能异构计算平台SRIO Switch采用基于FPGA控制的数据交换方式实现。
计算平台中需要提供使不同异构计算单元可以对各类人工智能算法进行协同处理的机制,因此本项目需要对各异构计算单元的片外内存提供统一的管理和优化。
***拟部署的片外存储部分主要由DDR Memory、内存控制器、数据传输模块和频率调节模块组成。其中DDR Memory作为异构计算单元计算数据的片外存储空间,同时也作为不同计算单元数据交互的中间站。内存控制器和数据传输模块负责完成数据在CPU主机端的内存与异构计算单元的片外DDR Memory之间的数据传输和DDR Memory与异构计算单元的片上存储空间的数据传输。频率调节模块负责调节异构计算核心的频率和DDR Memory的运行频率,使得平台能够根据不同计算场景下的性能、功耗需求进行相应的频率调节,增强***的灵活性与实用性。
由于异构计算平台要面临大量数据的处理,各异构计算单元的片外内存的管理对***性能有较大的影响。因此我们设计了一个专用的硬件模块负责片外内存的管理。在异构平台的设计中,由计算部件主动发出的内存请求和各计算单元的数据传输总线直接内存访问(DMA)非常频繁,造成对连续物理内存的需求较大。通过提供独立、专用的内存管理部件,为各异构计算核心和数据传输总线提供虚拟内存可以有效提高访存效率。在异构计算单元和数据传输总线看来,使用的仍然是连续的物理内存,但是这些数据在片外内存组织空间不连续。如图3所示刻画了片外内存管理模块的内部结构。内存管理模块通过页表结构完成虚拟地址空间到物理地址空间的转换。当异构计算核心或者数据传输总线想要片外板载内存的时候,它们提供一个地址给内存管理部件。内存管理部件将这个地址作为一个虚拟地址,该地址的前一部分为页表索引。使用该索引在页表中查询,得到实际物理地址所在页地址。得到的这个页地址即是待访存内存在板载内存中的所在页地址。配合原虚拟地址中的后半部分(页内偏移),即可得到物理页中真实数据的物理地址。由此物理地址就可对对应数据进行访问。在内存管理模块中,还可以集成一个可选的片内缓存(Cache),来增加片外内存的读写速度。片内缓存的设计受到页面大小和片上资源的限制。当页面大小较大时,片上的存储资源不足以构建一个片上缓存。
在外部存储方面,本实施例不仅需要对环境下多源异构大数据中的原始图像视频、图像等多样化原始数据进行存储,还需要对各种协同融合处理与计算分析过程中产生的中间、最终结果进行存储,因此所需存储空间极为庞大。另外,由于需要对目标环境下多源异构大数据进行实时处理,因此,相应的外存***必须具有高扩展性,才能实现对源源不断的数据进行有效的存储。综上所述,本实施例通过分布式文件***和存储技术,实现高效统一的分布式数据存储和管理
在本实施例中,平台中的异构计算资源是一种特殊的资源。一方面***中异构计算资源种类多样,能够完成的功能种类非常丰富;另一方面拟构建平台具备可扩展性,资源上的功能可以随着计算环境的改变动态变化,不同功能都在不同异构资源上具有不同的实现方式,这是普通设备所不具有的功能。
中间件对异构计算资源管理首先需要对异构资源有一个合理的抽象,抽象后的资源视图中应该不包含异构硬件的具体细节,但是又可以使中间件能够有效的执行管理异构计算资源的职能。
在进行平台计算资源抽象时,可以引用目前电子设计软件中已经广泛使用的黑盒子概念。所谓黑盒子,实际上是异构计算资源上的一个矩形区域。所有异构资源被划分为一系列的黑盒子,黑盒子之间不能存在重叠,原因在于同一时刻同一资源只能被一个功能使用。
目前黑盒子的建模方式主要有四种,如图4所示,分别解释如下:
A、二维动态,如图4(a)所示。每个黑盒子可以是任意不超过单个异构计算单元的矩形,所有的黑盒子不存在重叠。
B、二维分区,如图4(b)所示。所有的黑盒子被划分为大小相等、形状相同的矩形,所有的黑盒子不存在重叠。
C、一维动态,如图4(c)所示。黑盒子的上下边沿必须与各异构资源的上下边沿对齐,宽度没有限制,所有黑盒子不存在重叠。
D、一维分区,如图4(d)所示。黑盒子的上下边沿必须与异构资源的上下边沿对齐,宽度相等,所有黑盒子不存在重叠。
对于由多个区域组成的异构硬件资源,在每个区域内,都要求采用一维动态的方式划分黑盒子。
异构计算资源上的黑盒子是静态划分的,在***运行时不可改变,因此对于一个异构计算平台来说,利用黑盒子来进行资源抽象是一种合理的方式。本课题采用一个整型数来唯一表示一个黑盒子的位置信息,在驱动程序中,位置信息最终都与唯一的一个物理地址对应。驱动程序在对黑盒子中的布局的异构单元进行操作时使用物理地址,而调度和资源管理则可以直接操作黑盒子的编号,从而方便管理。
每个黑盒子上都可以布局完成某些功能的异构计算单元,在***运行的某一时刻一个黑盒子上最多只能布局一个异构计算单元,但是在不同计算环境下可以根据需要对黑盒子上布局的异构计算单元进行调整,即改变黑盒子能够完成的功能。
与现有技术相比,本发明具有以下技术优势:
1.实现了技术标准化,通过标准化设计贯彻***每个环节,包括标准的体系结构技术、标准的互连技术、标准的物理接口、标准的板卡结构、标准的软件结构技术、标准的软件接口技术等方面。标准化设计可以使软硬件模块具有更好的通用性和互换性,提高处理平台的可靠性。在标准化的基础上,将多种独立功能设计为相对独立的功能模块,并定义尽量完善的功能模块以满足整个处理平台的需求。整个数据处理平台由可编程的标准模块构成,可以通过对模块的编程适应不同应用的需求、通过模块数量的扩展适应不同处理量的需求。
2.具有可扩展性,数据处理平台可以通过增加(或删除)某个模块,从而带来功能或者能力的增加(或减少)。将***设计成独立的功能模块组合,模块之间通过具有可扩展性的互连网络连接,可以使得处理平台具有良好的可扩展性。
3.具有可重构性,通过模块之间组配形式的调整、互连形式的调整或者数据流的调整,通过较少的资源构建最大化的功能,通过灵活自主地组态实现智能化控制。可重构设计可以方便调整优化***处理流程和参数,以适应不同载荷数据的处理需求。因此模块化设计和可扩展的互连结构,可以确保数据处理平台具有可重构特性。
4.可容错性,从整机***设计的角度,使***在出现故障的情况下仍然能够完成既定任务。容错技术的核心是用线性增加的冗余资源来换取指数增长的可靠性。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种异构计算***,包括多个异构计算核心、片外存储部分、总线***以及多个节点,每个节点对应一个异构计算核心,不同节点可根据具体应用场景的不同配置为不同异构计算核心,节点之间从纵向和横向分别交叉连接,形成交叉总线,整个交叉总线的纵向和横向的节点数量主要由具体应用场景和***整体性能、功耗指标所确定;
任意一个节点可完成单独一个子任务或一个完整任务,基于所述异构计算***的人工智能应用划分为若干子任务,映射至不同计算节点中,网格中各个计算核心使用交叉总线连接;所述每个计算核心从临近的交叉总线节点获取待计算数据,计算的结果通过临近节点返回。
2.根据权利要求1所述的异构计算***,其特征在于,所述异构计算核心包括但不限于CPU、FPGA、IPU、DSP。
3.根据权利要求1或2所述的异构计算***,其特征在于,所述***具备协议层和物理层协议,采用SRIO总线实现***内各高速模块间的双星型点对点高速数据交互。
4.根据权利要求3所述的异构计算***,其特征在于,所述SRIO总线采用三层分级体系结构,分别为逻辑层、传输层和物理层,所述逻辑层定义了端口的全部协议、包的格式,为端点发起和完成事务提供必要信息;所述传输层定义了地址空间和在端点之间传输包所需要的路由信息和寻址机制;所述物理层描述了器件级端口信息,包括传输机制、初级流量控制、电气特性和低级错误管理等。
5.根据权利要求3或4所述的异构计算***,其特征在于,所述SRIO的操作基于请求和影响事务,发起端产生一个请求事务,请求事务被传送到目标端,目标端随之产生一个响应事务并返回发起端,以结束本次操作。
6.根据权利要求1所述的异构计算***,其特征在于,所述片外存储部分主要由DDRMemory、内存控制器、数据传输模块和频率调节模块组成。
7.根据权利要求6所述的异构计算***,其特征在于,所述DDR Memory作为异构计算单元计算数据的片外存储空间,同时也作为不同计算单元数据交互的中间站,内存控制器和数据传输模块负责完成数据在CPU主机端的内存与异构计算单元的片外DDR Memory之间的数据传输和DDR Memory与异构计算单元的片上存储空间的数据传输。频率调节模块负责调节异构计算核心的频率和DDR Memory的运行频率。
8.根据权利要求1所述的异构计算***,其特征在于,所述***还包括一内存管理模块,负责片外内存的管理,通过页表结构完成虚拟地址空间到物理地址空间的转换;当异构计算核心或者数据传输总线需要片外板载内存时,所述页表结构提供一个地址给内存管理部件。
9.根据权利要求8所述的异构计算***,其特征在于,所述内存管理模块将所述地址作为虚拟地址,所述地址的前一部分为页表索引;使用所述索引在页表中查询,得到实际物理地址所在页地址;得到的所述页地址即是待访存内存在板载内存中的所在页地址;配合原虚拟地址中的后半部分,即可得到物理页中真实数据的物理地址,由此物理地址就可对对应数据进行访问。
10.根据权利要求8所述的异构计算***,其特征在于,所述内存管理模块中还集成一个可选的片内缓存,以增加片外内存的读写速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795428.XA CN113392065A (zh) | 2021-07-14 | 2021-07-14 | 异构计算***及计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110795428.XA CN113392065A (zh) | 2021-07-14 | 2021-07-14 | 异构计算***及计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392065A true CN113392065A (zh) | 2021-09-14 |
Family
ID=77626088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110795428.XA Pending CN113392065A (zh) | 2021-07-14 | 2021-07-14 | 异构计算***及计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392065A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553899A (zh) * | 2022-01-30 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种存储设备 |
CN115167637A (zh) * | 2022-09-08 | 2022-10-11 | 中国电子科技集团公司第十五研究所 | 一种易扩展可重构的计算机***及计算机 |
WO2023165105A1 (zh) * | 2022-03-04 | 2023-09-07 | 深圳海星智驾科技有限公司 | 负载均衡控制方法、装置电子设备、存储介质和计算机程序 |
CN116775542A (zh) * | 2023-08-22 | 2023-09-19 | 成都芯脉微电子有限责任公司 | 一种ai芯片、***及数据处理方法 |
CN117349029A (zh) * | 2023-12-04 | 2024-01-05 | 浪潮电子信息产业股份有限公司 | 异构计算***、能耗确定方法、装置、电子设备及介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079106A1 (en) * | 2005-09-22 | 2007-04-05 | International Business Machines Corporation | Method and apparatus for translating a virtual address to a real address using blocks of contiguous page table entries |
US20090094436A1 (en) * | 2007-07-26 | 2009-04-09 | Yuefan Deng | Ultra-scalable supercomputer based on mpu architecture |
CN106250349A (zh) * | 2016-08-08 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种高能效异构计算*** |
CN108628800A (zh) * | 2018-05-08 | 2018-10-09 | 济南浪潮高新科技投资发展有限公司 | 一种动态可重构的智能计算集群及其配置方法 |
CN108776649A (zh) * | 2018-06-11 | 2018-11-09 | 山东超越数控电子股份有限公司 | 一种基于cpu+fpga异构计算***及其加速方法 |
CN109194430A (zh) * | 2018-08-03 | 2019-01-11 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于srio的c6678分布式***时间同步方法及*** |
CN110618963A (zh) * | 2018-06-19 | 2019-12-27 | 上海威固信息技术股份有限公司 | 一种计算与存储融合的异构计算硬件加速***及方法 |
WO2020108303A1 (zh) * | 2018-11-30 | 2020-06-04 | 中兴通讯股份有限公司 | 一种基于异构计算的任务处理方法及软硬件框架*** |
CN112347721A (zh) * | 2020-10-29 | 2021-02-09 | 北京长焜科技有限公司 | 基于fpga实现数据处理加速的***及其加速方法 |
-
2021
- 2021-07-14 CN CN202110795428.XA patent/CN113392065A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070079106A1 (en) * | 2005-09-22 | 2007-04-05 | International Business Machines Corporation | Method and apparatus for translating a virtual address to a real address using blocks of contiguous page table entries |
US20090094436A1 (en) * | 2007-07-26 | 2009-04-09 | Yuefan Deng | Ultra-scalable supercomputer based on mpu architecture |
CN106250349A (zh) * | 2016-08-08 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种高能效异构计算*** |
CN108628800A (zh) * | 2018-05-08 | 2018-10-09 | 济南浪潮高新科技投资发展有限公司 | 一种动态可重构的智能计算集群及其配置方法 |
CN108776649A (zh) * | 2018-06-11 | 2018-11-09 | 山东超越数控电子股份有限公司 | 一种基于cpu+fpga异构计算***及其加速方法 |
CN110618963A (zh) * | 2018-06-19 | 2019-12-27 | 上海威固信息技术股份有限公司 | 一种计算与存储融合的异构计算硬件加速***及方法 |
CN109194430A (zh) * | 2018-08-03 | 2019-01-11 | 中国航空工业集团公司雷华电子技术研究所 | 一种基于srio的c6678分布式***时间同步方法及*** |
WO2020108303A1 (zh) * | 2018-11-30 | 2020-06-04 | 中兴通讯股份有限公司 | 一种基于异构计算的任务处理方法及软硬件框架*** |
CN112347721A (zh) * | 2020-10-29 | 2021-02-09 | 北京长焜科技有限公司 | 基于fpga实现数据处理加速的***及其加速方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553899A (zh) * | 2022-01-30 | 2022-05-27 | 阿里巴巴(中国)有限公司 | 一种存储设备 |
WO2023165105A1 (zh) * | 2022-03-04 | 2023-09-07 | 深圳海星智驾科技有限公司 | 负载均衡控制方法、装置电子设备、存储介质和计算机程序 |
CN115167637A (zh) * | 2022-09-08 | 2022-10-11 | 中国电子科技集团公司第十五研究所 | 一种易扩展可重构的计算机***及计算机 |
CN116775542A (zh) * | 2023-08-22 | 2023-09-19 | 成都芯脉微电子有限责任公司 | 一种ai芯片、***及数据处理方法 |
CN116775542B (zh) * | 2023-08-22 | 2023-11-03 | 成都芯脉微电子有限责任公司 | 一种ai芯片、***及数据处理方法 |
CN117349029A (zh) * | 2023-12-04 | 2024-01-05 | 浪潮电子信息产业股份有限公司 | 异构计算***、能耗确定方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113392065A (zh) | 异构计算***及计算方法 | |
US11677662B2 (en) | FPGA-efficient directional two-dimensional router | |
Su et al. | Adaptive deadlock-free routing in multicomputers using only one extra virtual channel | |
WO2016191304A1 (en) | Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits, and applications of the router and network | |
KR20100105414A (ko) | 정보 처리 시스템, 통신 제어 장치 및 방법 | |
US20080222303A1 (en) | Latency hiding message passing protocol | |
CN110932920B (zh) | 一种网络拓扑结构 | |
US9830283B2 (en) | Multi-mode agent | |
CN112306946B (zh) | 一种多核处理器及其执行复杂计算的方法 | |
CN105095148A (zh) | 一种混合型三维片上网络 | |
CN109952809B (zh) | 四元全网状以维度驱动的网络架构 | |
CN113438171B (zh) | 一种低功耗存算一体***的多芯片连接方法 | |
CN116303225A (zh) | 一种数据流驱动的可重构处理器芯片及可重构处理器集群 | |
CN102404409A (zh) | 一种基于光分组交换的对等式云网络*** | |
Mohan et al. | Design and evaluation of 3D NoC routers with quality-of-service (QoS) mechanism for multi-core systems | |
US8291033B2 (en) | Combining multiple hardware networks to achieve low-latency high-bandwidth point-to-point communication | |
US11657203B2 (en) | Multi-phase topology synthesis of a network-on-chip (NoC) | |
CN102394922A (zh) | 分布式集群文件***及文件访问方法 | |
KR20210138105A (ko) | 토로이드 컴퓨터 네트워크 상의 내포된 링들 | |
CN112506824A (zh) | 一种芯片和数据交互方法 | |
Guo | Data Center Networking: Network Topologies and Traffic Management in Large-Scale Data Centers | |
Majeed et al. | Implementation of 4× 4 2D Mesh NoC Architecture using FPGA | |
RU2800966C1 (ru) | Компьютерная система | |
CN113986813B (zh) | 片上网络结构构建及使用的方法、***、设备和存储介质 | |
CN113407481A (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 |