可配置硬件算力的AI运算加速板卡及其处理方法、服务器与流程

文档序号:15144087发布日期:2018-08-10 20:14阅读:738来源:国知局

本发明涉及计算机集成电路技术领域,特别是涉及一种可配置硬件算力的ai运算加速板卡及其处理方法、服务器。



背景技术:

随着互联网和信息行业的快速发展,各种声音、图像、视频数据均呈井喷式的发展,大数据处理已经逐步取代传统的人工数据处理,而人工智能(简称ai)技术的应用使得大数据分析处理能力得到再一次飞跃。

深度学习技术引发了人工智能应用的高速发展,引领人类由信息时代进入智能时代。深度学习本质是一种机器学习技术,需要强大的硬件计算能力,来完成复杂的数据处理和运算。对于如此庞大的数据处理和运算,现有的人工智能解决方案中,采用专用的ai加速处理芯片执行深度学习运算,但是即使单个超高性能的ai加速处理芯片,其处理能力也远远达不到运算需求。为了满足大规模数据的处理需求,技术人员开始使用多个ai加速处理芯片组成计算集群来构建ai运算加速板卡,并通过高速接口(如外围组件快速互连pcie接口)与主机cpu通信连接,从而构成深度学习服务器系统,极大地提升了深度学习的运算处理能力。

现有方案中,ai运算加速板卡所搭载的ai加速处理芯片数量是固定的,这导致一块ai运算加速板卡的算力也是固定的。若需要对服务器的算力进行配置,就需要在服务器主板上插接多块板卡,如公开号为cn107329926a的中国发明专利申请。但是,一般用户在配置pc机或服务器时,其主板上的高速接口插槽(pcie接口)的数量是有限的,导致用户不能根据实际使用场景灵活配置服务器系统的算力,从而导致服务器硬件资源浪费或系统算力不足,无法满足实际的运算处理需求。



技术实现要素:

为了解决上述问题,根据本发明的一个方面,提出一种可配置硬件算力的ai运算加速板卡,该ai运算加速板卡包括:

pcie接口,用于连接主机的pcie插槽;

接口桥接电路,用于将pcie接口转换为与ai加速处理芯片适配的serdes接口;

至少一个ai加速处理芯片,用于执行ai运算加速处理,所述ai加速处理芯片包括第一serdes接口和第二serdes接口;

至少一个电源管理芯片,用于对所述至少一个ai加速处理芯片分别进行供电;

其中,所述ai加速处理芯片的数量是可配置的,当所述ai加速处理芯片为多个时,多个ai加速处理芯片通过第一serdes接口和第二serdes接口依次级联。

在一些实施方式中,当所述ai加速处理芯片为一个时,所述ai加速处理芯片通过第一serdes接口与接口桥接电路进行通信连接。

在一些实施方式中,当所述ai加速处理芯片为多个时,所述ai加速处理芯片通过第二serdes接口与下一级ai加速处理芯片进行通信连接。

在一些实施方式中,所述ai运算加速板卡的各部件承载于一pcb载板。

在一些实施方式中,所述pcie接口还用于接收主机cpu发送的数据,并转发给接口桥接电路。

在一些实施方式中,所述接口桥接电路还用于将所述主机cpu发送的数据中的待运算数据转换后经由serdes接口发送给所述ai加速处理芯片进行处理。

在一些实施方式中,所述ai加速处理芯片对所述待运算数据进行处理包括对所述待运算数据进行深度学习计算。

在一些实施方式中,所述ai加速处理芯片包括asic处理芯片。

在一些实施方式中,所述ai加速处理芯片包括张量处理单元tpu。

在一些实施方式中,所述接口桥接电路包括:

pcie接口模块,用于接收主机cpu发送的数据,并将所述数据转换为并行数据;

axi总线模块,用于将所述并行数据中的待运算数据分发给芯片链路模块,将所述并行数据中的控制命令分发给控制模块;

芯片链路模块,用于对所述待运算数据进行存取;

转换模块,用于将芯片链路模块存取的并行待运算数据转换为串行数据;

serdes接口模块,用于将转换后的所述串行数据发送给ai加速处理芯片进行处理;

控制模块,用于接收所述axi总线模块分发的控制命令,根据所述控制命令对ai加速处理芯片进行控制、调度。

在一些实施方式中,所述接口桥接电路还用于接收所述ai加速处理芯片的运算结果数据,并经由所述pcie接口发送给主机cpu。

在一些实施方式中,所述至少一个电源管理芯片的数量根据所述至少一个ai加速处理芯片的数量对应配置。

在一些实施方式中,所述至少一个电源管理芯片连接到所述接口桥接电路,所述接口桥接电路还用于控制所述至少一个电源管理芯片对相应的ai加速处理芯片进行供电。

在一些实施方式中,所述接口桥接电路还用于检测所述至少一个电源管理芯片中的故障芯片。

在一些实施方式中,所述至少一个ai加速处理芯片直接焊接在所述pcb载板。

在一些实施方式中,所述至少一个ai加速处理芯片通过专用插座的卡扣固定在所述pcb载板。

根据本发明的另一个方面,提出一种应用于前述任一实施例所述的ai运算加速板卡的运算加速处理方法,包括:

通过pcie接口接收主机cpu发送的数据;

通过接口桥接电路将所述主机cpu发送的数据中的待运算数据转换后经由serdes接口发送给至少一个ai加速处理芯片进行加速处理;

通过接口桥接电路向主机cpu返回所述至少一个ai加速处理芯片的运算结果数据。

根据本发明的另一个方面,提出一种服务器,包括:

主机,其包括pcie插槽;以及

连接所述主机的pcie插槽的前述任一实施例所述的ai运算加速板卡。

本发明实施例通过定制化的ai加速处理芯片的接口设计和ai运算加速板卡的系统架构创新,将传统加速板卡上固定的处理芯片数量变为可配置的,使得每个ai运算加速板卡的算力是可配置的,用户可根据实际运算需求选择对应算力的板卡,极大地提升了ai运算加速板卡的使用灵活度,降低了硬件成本,提高了器件利用率。

附图说明

图1是根据本发明一实施例的可配置硬件算力的ai运算加速板卡的结构示意图;

图2是根据本发明一实施例的接口桥接电路的结构示意图;

图3是应用于本发明任一实施例的ai运算加速板卡的运算加速处理方法的流程示意图;

图4是根据本发明一实施例的可配置硬件算力的服务器的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是根据本发明一实施例的可配置硬件算力的ai运算加速板卡100的结构示意图。如图1所示,所述ai运算加速板卡100包括pcie接口10、接口桥接电路20、n个ai加速处理芯片30以及与所述n个ai加速处理芯片对应的n个电源管理芯片(pmic)40,n为大于或等于1的整数,其中:

pcie接口10用于连接主机的pcie插槽,接收主机cpu发送的数据,并将主机cpu发送的数据发送给接口桥接电路20。同时,pcie接口10还用于向主机cpu返回ai加速处理芯片30的运算结果数据。

接口桥接电路20用于将pcie接口转换为与ai加速处理芯片30适配的serdes接口,将主机发送的数据中的待运算数据转换后经由serdes接口发送给ai加速处理芯片30进行处理。同时,接口桥接电路20还用于接收ai加速处理芯片30返回的运算结果数据,并经由pcie接口10传输给主机cpu。

在一些实施方式中,接口桥接电路20还包括对ai运算加速板卡的控制功能,例如对电源管理芯片的上电时序控制、对ai加速处理芯片的控制、调度等。

ai加速处理芯片30用于基于主机cpu发送的待运算数据执行ai运算加速处理,并向接口桥接电路20返回运算结果数据。ai加速处理芯片30分别配置两个serdes接口,一个serdes接口用于与上一级ai加速处理芯片或接口桥接电路进行数据通信,另一个serdes接口用于与下一级ai加速处理芯片进行数据通信。

在一些实施方式中,所述ai加速处理芯片采用asic处理芯片实现,所述ai运算包括深度学习计算。

在一些实施方式中,所述ai加速处理芯片还可以采用google公司的张量处理单元(tensorprocessingunit,简称tpu)来实现。

电源管理芯片40用于对ai加速处理芯片进行供电,实现电源管理的功能。

在一些实施方式中,电源管理芯片40通过低速串行总线连接到接口桥接电路20,所述接口桥接电路还用于控制所述电源管理芯片对相应的ai加速处理芯片进行供电。

本发明实施例中,一方面,由于ai加速处理芯片和其它ai加速处理芯片之间有大量的数据交换,所以需要采用特殊的数据接口。本发明实施例采用的是串行/解串(serdes)接口,serdes接口是一种时分多路复用(tdm)、点对点(p2p)的串行通信技术,即在发送端多路低速并行信号被转换成高速串行信号经传输媒体进行传输,而在接收端高速串行信号重新转换成低速并行信号,这种点对点的串行通信技术充分利用传输媒体的信道容量,能够减少所需的传输信道和器件引脚数目,提升信号的传输速度,大大降低通信成本。具体而言,ai加速处理芯片分别配置两个serdes接口,一个serdes接口用于与上一级ai加速处理芯片或接口桥接电路进行数据通信,另一个serdes接口用于与下一级ai加速处理芯片进行数据通信,ai加速处理芯片将需要传输的大量并行数据通过serdes接口串行化,再通过ai运算加速板卡的pcb载板上较少的串行走线,将数据进行芯片间的传输。

此外,由于主机(例如pc机或服务器)的cpu通常具备标准pcie接口,但一般不会配置serdes接口。为了与ai加速处理芯片的serdes接口适配,本发明实施例在ai运算加速板卡上配置了一个接口桥接电路,用于把pcie接口转换成serdes接口。

通过这样的配置组合,就使得本发明实施例的ai运算加速板卡上承载的ai加速处理芯片的数量是可配置的。图1虚线框中的ai加速处理芯片(30-2,…,30-n)可根据实际运算需求选择全部上件,也可部分上件,亦可全部不上件。这样就实现了对ai运算加速板卡的硬件算力的灵活配置。

另一方面,由于执行ai运算加速处理的ai加速处理芯片对供电要求非常高,通常需要1v以下的低电压、50a以上的大电流,而且电压和电流都需要实时根据负载调整。因此,本发明实施例的ai运算加速板卡没有采用传统pcie板卡所使用的集中式供电方式,而是采用了分布式的电源布局,即每一颗ai加速处理芯片都配备了独立的电源供电,每一路电源均具有独立的电源管理芯片40(40-1,…,40-n),所有的电源管理芯片40通过低速串行总线连接到接口桥接电路20,由接口桥接电路20根据pc机或服务器对ai运算算力的需求和工作负载来动态调节每一组ai加速处理芯片的供电。这种架构一是提高了系统可靠性,如果某一路电源管理芯片故障,并不影响其他路电源管理芯片的正常运行,并且通过接口桥接电路20的通信,还可以快速定位故障点;二是根据算力配置不同,可以根据配置的ai加速处理芯片数量,来对应地配置电源管理芯片pmic的数量,降低硬件成本,提高器件利用率。

本发明实施例中,ai运算加速板卡包含的各部件芯片承载于pcb载板。对于ai加速处理芯片的上件,有两种可选的上件方式:

方式一:直接将ai加速处理芯片焊接在pcb载板上。其优点在于接触牢固,缺点是不能实时配置ai运算加速板卡的硬件算力,板卡一旦生产出来,算力就固定了;

方式二:通过专用插座,通过插座的卡扣固定在pcb载板上。其优点是可以随时灵活地按需配置算力,缺点是成本稍高。这两种上件方式可以根据不同的使用场景灵活配置。

图2是根据本发明一实施例的接口桥接电路20的结构示意图。如图2所示,所述接口桥接电路20采用可编程逻辑器件fpga实现,其包括pcie接口模块201、axi总线模块202、芯片链路模块203、转换模块204、serdes接口模块205和控制模块206。

pcie接口模块201用于接收主机cpu发送的数据,并将所述数据转换为并行数据。

axi总线模块202用于对pcie接口模块201转换后的并行数据进行分发传输,其中待运算数据被分发给芯片链路模块203,控制命令被分发给控制模块206。axi(advancedextensibleinterface)总线是一种面向高性能、高带宽、低延迟的片内总线。

芯片链路模块203用于对分发的所述待运算数据进行存取。在整个系统中芯片链路模块203相当于全局dma,可以在无需处理器干预的情况下,直接存取数据,其包括异步先入先出队列fifo。

转换模块204用于将芯片链路模块存取的并行待运算数据转换为串行数据。

serdes接口模块205用于将所述转换后的串行数据发送给ai加速处理芯片30进行处理。

控制模块206用于接收axi总线模块202分发的控制命令,根据所述控制命令对ai加速处理芯片进行控制、调度。

在一些实施方式中,serdes接口模块205还用于接收ai加速处理芯片30返回的运算结果数据;转换模块204还用于将serdes接口模块205接收的ai加速处理芯片返回的运算结果数据转换为并行数据;芯片链路模块203还用于对ai加速处理芯片返回的运算结果数据进行存取;axi总线模块202还用于向pcie接口模块201传输ai加速处理芯片返回的运算结果数据;pcie接口模块201还用于将ai加速处理芯片返回的运算结果数据传输给主机。

在一些实施方式中,所述控制模块206包括axi转apb桥接模块和控制端口。其中,主机发送的数据中包含的控制命令被axi总线模块202分发给axi转apb桥接模块。axi转apb桥接模块用于对接收自axi总线模块202的控制命令进行逻辑转换,转换为apb(advancedperipheralbus)外围总线协议格式,并发送给相应的控制端口。

在一些实施方式中,控制端口可以包括但不限于i2c控制端口和pwm控制端口。

i2c控制端口连接ai加速处理芯片及温度传感器的i2c端口,用于对各ai加速处理芯片进行控制、调度,以及对ai加速处理芯片的温度进行监测。在一些实施方式中,i2c控制端口也用于调节电源管理芯片,实现ai加速处理芯片的上下电时序及动态调频调压功能。

pwm控制端口用于控制ai运算加速板卡的风扇转速,结合i2c端口上连接的温度传感器,实现ai加速处理芯片温度及风扇转速的动态调节功能。

本发明实施例采用可编程逻辑器件fpga实现pcie接口到serdes接口的桥接转换,使得ai运算加速板卡的设计使用更加灵活,并且可以实现对多ai加速处理芯片级联的ai运算加速板卡的外设管理、逻辑控制。

图3是应用于本发明任一实施例的ai运算加速板卡的运算加速处理方法的流程示意图。如图3所示,该方法包括:

步骤s1,通过pcie接口接收主机cpu发送的数据;

步骤s2,通过接口桥接电路将所述主机cpu发送的数据中的待运算数据转换后经由serdes接口发送给至少一个ai加速处理芯片进行加速处理;

步骤s3,通过接口桥接电路向主机cpu返回所述至少一个ai加速处理芯片的运算结果数据。

图4是根据本发明一实施例的可配置硬件算力的服务器200的结构示意图。如图4所示,本发明实施例的服务器200包括:

主机,其包括pcie插槽;

以及连接所述主机pcie插槽的前述任一实施例的可配置硬件算力的ai运算加速板卡100。

本发明实施例通过定制化的ai加速处理芯片的接口设计和ai运算加速板卡的系统架构创新,将传统加速板卡上固定的处理芯片数量变为可配置的,使得ai运算加速板卡的算力可配置,极大地提升了ai运算加速板卡的使用灵活度,降低了硬件成本,提高了器件利用率。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1