专利类型 | 发明公开 | 法律事件 | 公开; 实质审查; 授权; |
专利有效性 | 有效专利 | 当前状态 | 授权 |
申请号 | CN202410487111.3 | 申请日 | 2024-04-22 |
公开(公告)号 | CN118260235A | 公开(公告)日 | 2024-06-28 |
申请人 | 原粒(北京)半导体技术有限公司; | 申请人类型 | 企业 |
发明人 | 方绍峡; 原钢; | 第一发明人 | 方绍峡 |
权利人 | 原粒(北京)半导体技术有限公司 | 权利人类型 | 企业 |
当前权利人 | 原粒(北京)半导体技术有限公司 | 当前权利人类型 | 企业 |
省份 | 当前专利权人所在省份:北京市 | 城市 | 当前专利权人所在城市:北京市朝阳区 |
具体地址 | 当前专利权人所在详细地址:北京市朝阳区关村科技服务大厦A座203 | 邮编 | 当前专利权人邮编:100024 |
主IPC国际分类 | G06F15/16 | 所有IPC国际分类 | G06F15/16 ; G06F15/78 |
专利引用数量 | 3 | 专利被引用数量 | 2 |
专利权利要求数量 | 10 | 专利文献类型 | A |
专利代理机构 | 北京润泽恒知识产权代理有限公司 | 专利代理人 | 苏培华; |
摘要 | 本 申请 提供一种算 力 加速 卡、设计方法及算力 服务器 ,算力加速卡包括: 电路 板,布设在 电路板 上的P个算力芯片;算力芯片包括封装 基板 以及布设在封装基板上的N个算力芯粒 硅 片 ,N大于或者等于1、小于或者等于单个算力芯片所允许容纳的算力芯粒 硅片 数目 阈值 ;算力芯粒硅片包括算力核心单元以及与算力核心单元连接的M个高速串行 接口 ,P、M均大于或者等于1;位于同一算力芯片上的算力芯粒硅片通过对应的高速串行接口形成封装级互连,位于不同算力芯片上的算力芯粒硅片通过对应的高速串行接口形成电路板级互连;P个算力芯片对应的算力核心单元构成核心计算模组。本申请可提升算力芯片的算力能力,降低芯片封装成本,构建高规格算力加速卡。 | ||
权利要求 | 1.一种算力加速卡,其特征在于,包括: |
||
说明书全文 | 算力加速卡、设计方法及算力服务器技术领域背景技术[0002] 以ChatGPT(Chat Generative Pre‑trained Transformer,聊天生成预训练转换模型)为代表的人工智能应用需要大量的算力支撑,算力加速卡是一种内嵌算力芯片、用于专门处理人工智能等应用的电路模块单元,常见的形态包括PCIE(Peripheral Component Interconnect Express,高速外围组件互联)加速卡、OAM模组(OCP Accelerator Module,基于OCP标准的开放加速模组)等。 [0003] 一台典型的多卡算力服务器包括CPU(Central Processing Unit,中央处理器)、硬盘、内存、主板、以及多张PCIE算力加速卡,由于服务器PCIE卡槽数目固定(可插加速卡数量固定),单卡算力越高,CPU/硬盘等固定成本摊销越划算。 [0004] 目前,生成式AI(Artificial Intelligence,人工智能)等大模型应用正在带来时代变革,全球算力需求呈爆发式增长趋势,但同时也面临着算力服务器计算密度难以进一步提升、成本居高不下等挑战。 [0005] 另一方面,随着摩尔定律逐步放缓,依赖晶体管工艺缩放来提高晶体管密度、增大芯片面积从而提高性能的做法遇到瓶颈,芯粒技术应运而生,其可将多块芯粒硅片用封装技术整合在一起,在提升性能的同时有效降低成本。 [0006] 图1A以及图1B展示了当前两种典型的高性能算力加速卡的形态。图1A为采用单一硅片芯片的PCIE加速卡,该PCIE加速卡性能受制于芯片制造工艺,晶体管数量难以进一步提升。图1B为基于多芯粒硅片组成的单一芯片的PCIE加速卡,由于采用了芯粒技术,突破了图1A的限制,允许进一步提升芯片封装内的晶体管数量。但是,在图1B的方案中,当芯粒硅片数目较多时,封装基板面积较大,封装成本急剧上升,封装良率也面临挑战(一粒硅片封装故障即导致整个芯片报废),芯片成本难以降低。 [0007] 因此,急需解决传统高性能算力加速卡算力规格难以进一步提升、算力成本高的问题。发明内容 [0008] 鉴于上述问题,本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的算力加速卡、设计方法及算力服务器。 [0009] 第一方面,本申请实施例提供了一种算力加速卡,包括: [0010] 电路板,布设在所述电路板上的P个算力芯片; [0013] 其中,位于同一所述算力芯片上的所述算力芯粒硅片通过对应的高速串行接口形成封装级互连,位于不同所述算力芯片上的所述算力芯粒硅片通过对应的高速串行接口形成电路板级互连;所述P个算力芯片对应的算力核心单元构成核心计算模组。 [0014] 第二方面,本申请实施例提供了一种算力服务器,包括至少一个第一方面所述的算力加速卡,所述算力加速卡设置于所述算力服务器的卡槽中; [0015] 在所述算力服务器包括多个算力加速卡的情况下,所述多个算力加速卡之间形成板卡级互连,且相连接的两个算力加速卡之间具有至少一种板卡级互连结构。 [0016] 第三方面,本申请实施例提供一种算力加速卡设计方法,包括: [0017] 提供算力芯粒硅片,所述算力芯粒硅片包括算力核心单元以及与所述算力核心单元连接的M个高速串行接口; [0018] 基于每个算力芯片包括N个算力芯粒硅片的设计规则、进行算力芯粒硅片封装,获取P个算力芯片,N为大于或者等于1的整数、且小于或者等于单个算力芯片所允许容纳的算力芯粒硅片数目阈值,P、M均为大于或者等于1的整数; [0019] 将所述P个算力芯片布设在电路板上,建立算力芯片之间的电路板级互连,获取包括P个算力芯片的算力加速卡; [0020] 其中,位于同一所述算力芯片上的所述算力芯粒硅片通过对应的高速串行接口形成封装级互连,位于不同所述算力芯片上的所述算力芯粒硅片通过对应的高速串行接口形成电路板级互连;所述P个算力芯片对应的算力核心单元构成核心计算模组;在设计多个算力加速卡时,建立多个算力加速卡之间的板卡级互连。 [0021] 本申请实施例技术方案,通过采用芯粒技术将N个算力芯粒硅片互连后进行封装构建算力芯片,在电路板上布设P个算力芯片并基于芯片互连技术将位于不同算力芯片上的算力芯粒硅片互连,可以将算力芯粒硅片在封装级、电路板级进行互连,实现基于算力芯粒硅片间的互连构建高规格算力加速卡;且通过封装至少一个算力芯粒硅片构建算力芯片,可以保证单个算力芯片的算力能力,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本,进而实现合理平衡算力能力需求以及成本需求。附图说明 [0022] 图1A表示现有技术中高性能算力加速卡的示意图一; [0023] 图1B表示现有技术中高性能算力加速卡的示意图二; [0024] 图2表示本申请实施例提供的算力加速卡的示意图一; [0025] 图3表示本申请实施例提供的算力加速卡的示意图二; [0026] 图4表示本申请实施例提供的算力芯粒硅片的示意图; [0027] 图5表示本申请实施例提供的算力加速卡互连的示意图; [0028] 图6表示本申请实施例提供的算力加速卡设计方法的示意图。 具体实施方式[0029] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。 [0030] 应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。本申请实施例中的多个可以包括两个以及两个以上。 [0031] 本申请实施例提供一种算力加速卡,如图2至图4所示,算力加速卡包括: [0032] 电路板10,布设在电路板10上的P个算力芯片11; [0033] 算力芯片11包括封装基板111以及布设在封装基板111上的N个算力芯粒硅片112,N为大于或者等于1的整数、且小于或者等于单个算力芯片11所允许容纳的算力芯粒硅片数目阈值; [0034] 算力芯粒硅片112包括算力核心单元1121以及M个高速串行接口1122,M个高速串行接口1122分别连接算力核心单元1121,P、M均为大于或者等于1的整数; [0035] 其中,位于同一算力芯片11上的算力芯粒硅片112通过对应的高速串行接口1122形成封装级互连,位于不同算力芯片11上的算力芯粒硅片112通过对应的高速串行接口1122形成电路板级互连;P个算力芯片11对应的算力核心单元1121构成核心计算模组。 [0036] 本申请实施例提供的算力加速卡包括电路板10以及布设在电路板10上的P个算力芯片11,P的取值大于或者等于1。即,通过在电路板10上布设至少一个算力芯片11、建立算力芯片11间的互连构成算力加速卡,电路板10所能布设的算力芯片11的数量与电路板10的面积以及算力芯片11的尺寸相关。 [0037] 算力芯片11包括一封装基板111以及布设在封装基板111上的N个算力芯粒硅片112,算力芯粒硅片112内包括多个晶体管。N的取值大于或者等于1,通过在封装基板111上布设一个或者多个算力芯粒硅片112,可以保证单个算力芯片11所能容纳的晶体管数量,进而保证单个算力芯片11的算力能力;且N的取值小于或者等于单个算力芯片11所允许容纳的算力芯粒硅片数目阈值,通过限制单个算力芯片11所允许容纳的算力芯粒硅片112的数量,可以降低单个算力芯片11的封装成本,提升封装良率,降低芯片成本。 [0038] 需要说明的是,单个算力芯片11所允许容纳的算力芯粒硅片数目阈值为经过试验所确定的阈值,通过基于所确定的阈值设置算力芯片11所包括的算力芯粒硅片112的数量,可以合理平衡算力能力需求以及成本需求。作为举例,单个算力芯片11所允许容纳的算力芯粒硅片112的数目阈值为10,则N的取值大于或者等于1、小于或者等于10,通过限制N的取值范围,可以在保证单个算力芯片11的算力能力的同时,提升封装良率,实现合理平衡算力能力需求以及成本需求。 [0039] 在电路板10上布设至少两个算力芯片11时,不同的算力芯片11对应的算力芯粒硅片112的数量可以有所差异,也可以是不同的算力芯片11部署相同数量的算力芯粒硅片112、但布局形式相差异,还可以是不同的算力芯片11部署相同数量的算力芯粒硅片112、且布局形式相同。作为举例,如图3所示,电路板10上布设4个算力芯片11,每个算力芯片11包括两个算力芯粒硅片112,且算力芯粒硅片112在算力芯片11上的布局形式相同,此时,不同的算力芯片11部署相同数量以及相同布局形式的算力芯粒硅片112。 [0040] 如图2至图4所示,针对算力芯粒硅片112而言,其包括算力核心单元1121以及M个高速串行接口1122,M的取值大于或者等于1,即,每个算力芯粒硅片112对应于至少一个高速串行接口1122。归属于同一算力芯片11的不同算力芯粒硅片112所对应的高速串行接口1122的数目可以完全相同,也可以有所差异;归属于不同算力芯片11的算力芯粒硅片112所对应的高速串行接口1122的数目可以有所差异,也可以完全相同。 [0041] 算力芯粒硅片112所对应的M个高速串行接口1122均连接算力核心单元1121,使得当前算力芯粒硅片中的算力核心单元1121通过高速串行接口1122与其他算力芯粒硅片中的算力核心单元1121连接。 [0042] 本申请实施例中的高速串行接口1122用于将不同的算力芯粒硅片112相连,且通过高速串行接口1122可以连接部署在同一算力芯片11上的不同算力芯粒硅片112,通过高速串行接口1122也可以连接部署在不同算力芯片11上的算力芯粒硅片112。 [0043] 针对位于同一算力芯片11上的不同算力芯粒硅片112,其通过对应的高速串行接口1122形成封装级互连,针对位于不同算力芯片11上的算力芯粒硅片112,其通过对应的高速串行接口1122形成电路板级互连。 [0044] 在电路板10上布设一个算力芯片11时,由于不存在不同算力芯片11上的算力芯粒硅片112连接的情况,此时,算力芯片11上的至少两个算力芯粒硅片112通过对应的高速串行接口1122形成封装级互连;在电路板10上布设至少两个算力芯片11时,除了位于同一算力芯片11上的不同算力芯粒硅片112通过对应的高速串行接口1122形成封装级互连,还可以在不同算力芯片11间形成算力芯粒硅片112的电路板级互连。 [0045] 由于同一算力芯片11中的不同算力芯粒硅片112之间可以形成互连,位于不同算力芯片11上的算力芯粒硅片112之间可以形成互连,则通过算力芯粒硅片112之间的互连,可以将P个算力芯片11对应的算力核心单元1121组成核心计算模组,以构建出高规格算力加速卡的核心组件。 [0046] 本申请上述实施方案,通过采用芯粒技术将N个算力芯粒硅片互连后进行封装构建算力芯片,在电路板上布设P个算力芯片并基于芯片互连技术将位于不同算力芯片上的算力芯粒硅片互连,可以将算力芯粒硅片在封装级、电路板级进行互连,实现基于算力芯粒硅片间的互连构建高规格算力加速卡;且通过封装至少一个算力芯粒硅片构建算力芯片,可以保证单个算力芯片的算力能力,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本,进而实现合理平衡算力能力需求以及成本需求。 [0047] 下面对本申请实施例提供的高速串行接口进行介绍,如图3和图4所示,算力芯粒硅片112的M个高速串行接口1122对应于相同接口结构,不同算力芯粒硅片112对应的高速串行接口1122的接口结构相同;且高速串行接口1122为可作为封装互连接口和电路板互连接口的统一互连接口。 [0048] 在本申请实施例中,单个算力芯粒硅片112对应的M个高速串行接口1122的接口结构相同,即,针对任一算力芯粒硅片112,在其对应的高速串行接口1122的数量大于1时,各个高速串行接口1122的接口结构相同。对于不同的算力芯粒硅片112,对应于相同接口结构的高速串行接口1122,即,不同的算力芯粒硅片112共享同一接口结构的高速串行接口1122。 [0049] 且本申请实施例所提供的高速串行接口1122为用于算力芯粒硅片112互连的统一互连接口,统一互连接口既可以作为封装互连接口、又可以作为电路板互连接口。封装互连接口为用于连接位于同一封装基板111上的算力芯粒硅片112的接口,电路板互连接口为用于连接位于不同封装基板111上的算力芯粒硅片112的接口。 [0050] 通过采用统一的算力芯粒硅片互连接口对单个算力芯片进行算力扩展,可以无需设计两套接口分别用于封装级互连、电路板级互连,降低互连复杂度且控制成本,同时此设计可以适应不同形态的算力芯片。 [0051] 可选地,如图3所示,位于同一算力芯片11上两个相连的算力芯粒硅片112之间布设基板连线113,且两个算力芯粒硅片112的对应高速串行接口1122通过基板连线113连接;位于不同算力芯片11上两个相连的算力芯粒硅片112之间布设电路板连线114,且两个算力芯粒硅片112的对应高速串行接口1122通过电路板连线114连接。 [0052] 在算力芯片11的封装基板111上设置有基板连线113,基板连线113用于连接位于同一算力芯片11上的算力芯粒硅片112,且基板连线113的两端分别连接两个算力芯粒硅片112上的对应高速串行接口1122。即,位于同一算力芯片11上的、可形成连接关系的两个算力芯粒硅片112,其对应的高速串行接口1122通过布设在封装基板111上的基板连线113进行连接,进而实现两个算力芯粒硅片112之间的连接,此时,高速串行接口1122作为封装互连接口,用于连接同一封装基板111上的两个算力芯粒硅片112。 [0053] 在电路板10上设置有电路板连线114,电路板连线114用于连接位于不同算力芯片11上的算力芯粒硅片112,且电路板连线114的两端分别连接位于不同封装基板111上的两个算力芯粒硅片112的对应高速串行接口1122。即,位于不同算力芯片11上的、可形成连接关系的两个算力芯粒硅片112,其对应的高速串行接口1122通过布设在电路板10上的电路板连线114进行连接,进而实现位于不同封装基板111上的两个算力芯粒硅片112之间的连接,此时,高速串行接口1122作为电路板互连接口,用于连接不同封装基板111上的两个算力芯粒硅片112。 [0054] 由于高速串行接口1122为用于算力芯粒硅片112互连的统一互连接口,统一互连接口可以作为封装互连接口、也可以作为电路板互连接口,在进行位于同一封装基板111上的两个算力芯粒硅片112之间的连接时,利用高速串行接口1122的封装互连功能,实现同一封装基板111上的不同算力芯粒硅片112间的连接;在进行位于不同封装基板111上的两个算力芯粒硅片112之间的连接时,利用高速串行接口1122的电路板互连功能,实现不同封装基板111上的算力芯粒硅片112间的连接;进而可以利用高速串行接口1122的封装互连功能、电路板互连功能,降低互连复杂度、控制成本。 [0055] 可选地,如图3所示,高速串行接口1122支持调整传输速率;在高速串行接口1122通过基板连线113连接位于同一算力芯片11上的两个算力芯粒硅片112时,高速串行接口1122对应于第一传输速率;在高速串行接口1122通过电路板连线114连接位于不同算力芯片11上的两个算力芯粒硅片112时,高速串行接口1122对应于第二传输速率; [0056] 其中,第一传输速率为基板连线113对应的传输速率,第二传输速率为电路板连线114对应的传输速率,第一传输速率大于或者等于第二传输速率。 [0057] 由于封装基板111与电路板10的物理特性不同,针对布设在封装基板111上的基板连线113以及布设在电路板10上的电路板连线114可以配置不同的传输速率,这里的传输速率为通过基板连线113、电路板连线114传输数据的速率,也可以称之为基板连线113、电路板连线114的连接速率。 [0058] 基板连线113对应的传输速率为第一传输速率,电路板连线114对应的传输速率为第二传输速率。由于电路板连线114需要跨越不同封装基板111,因此电路板连线114对应的传输速率通常需要降下来,封装基板111上布设的基板连线113对应的传输速率大于或者等于电路板连线114对应的传输速率,即,第一传输速率需要大于或者等于第二传输速率。 [0059] 由于高速串行接口1122为统一互连接口,在高速串行接口1122对应于封装互连功能时,通过基板连线113实现两个高速串行接口1122的连接,在高速串行接口1122对应于电路板互连功能时,通过电路板连线114实现两个高速串行接口1122的连接,因此,高速串行接口1122支持调整传输速率。针对通过基板连线113连接位于同一算力芯片11上的两个算力芯粒硅片112的高速串行接口1122,其对应于第一传输速率;针对通过电路板连线114连接位于不同算力芯片11上的两个算力芯粒硅片112的高速串行接口1122,其对应于第二传输速率。 [0060] 从另一角度来说,对于一高速串行接口1122,其支持两种工作模式,一是封装互连模式,二是电路板互连模式,在高速串行接口1122为封装互连模式时,对应于第一传输速率,在高速串行接口1122为电路板互连模式时,对应于第二传输速率。在高速串行接口1122用于封装互连时,该高速串行接口1122通过基板连线113与其他高速串行接口1122连接,在高速串行接口1122用于电路板互连时,该高速串行接口1122通过电路板连线114与其他高速串行接口1122连接。 [0061] 针对任意一算力芯粒硅片112,其包括一个或者多个高速串行接口1122,若其仅需要与位于同一封装基板111上的其他的算力芯粒硅片112连接,可以通过一个高速串行接口1122与位于同一封装基板111上的其他的一个或者多个算力芯粒硅片112连接,也可以通过多个高速串行接口1122与位于同一封装基板111上的其他的多个算力芯粒硅片112分别连接。此时,高速串行接口1122为封装互连模式时,对应于第一传输速率。 [0062] 若算力芯粒硅片112需要与位于同一封装基板111上的其他的算力芯粒硅片112连接、需要与位于不同封装基板111上的其他的算力芯粒硅片112连接,则算力芯粒硅片112需要对应于至少两个高速串行接口1122,至少两个高速串行接口1122分为两类,一类用于作为封装互连接口,另一类用于作为电路板互连接口,封装互连接口对应于第一传输速率、电路板互连接口对应于第二传输速率。 [0063] 以上对本申请实施例高速串行接口连接算力芯粒硅片的方案进行了介绍,通过提供用于算力芯粒硅片互连的统一互连接口,可以无需设计两套接口分别用于封装级互连、电路板级互连,降低互连复杂度、控制成本;且高速串行接口支持调整传输速率,在通过基板连线连接同一封装基板上的算力芯粒硅片时对应于第一传输速率、在通过电路板连线连接不同封装基板上的算力芯粒硅片时对应于第二传输速率,实现在连接算力芯粒硅片的同时以适配的传输速率在算力芯粒硅片间进行数据传输。 [0064] 下面对算力芯片中的算力芯粒硅片的连接情况、算力芯片间的连接情况进行介绍。如图3所示,在算力芯片11中,第一算力芯粒硅片与至少一个第二算力芯粒硅片连接;第一算力芯粒硅片为算力芯片11所包括的N个算力芯粒硅片112中的任一算力芯粒硅片,剩余的(N‑1)个算力芯粒硅片112均为第二算力芯粒硅片。 [0065] 针对任意一算力芯片11,其所包括的第一算力芯粒硅片与至少一个第二算力芯粒硅片连接,第一算力芯粒硅片为N个算力芯粒硅片112中的任一算力芯粒硅片112,N个算力芯粒硅片112中区别于第一算力芯粒硅片的其他(N‑1)个算力芯粒硅片112均为第二算力芯粒硅片。即,第一算力芯粒硅片至少与一个第二算力芯粒硅片连接,也可以与多个第二算力芯粒硅片连接,不存在算力芯片11中的任意一算力芯粒硅片112孤立部署、不与相同封装基板111上的其他算力芯粒硅片112相连的情况。若一个封装基板111上存在孤立的算力芯粒硅片112,则该算力芯粒硅片112没有必要封装在当前封装基板111上,因此,不存在算力芯片11中的任意一算力芯粒硅片112孤立部署的情况。 [0066] 作为举例,在N的取值为2时,算力芯片11包括第一算力芯粒硅片和第二算力芯粒硅片,此时,第一算力芯粒硅片与第二算力芯粒硅片连接。在N的取值为3时,算力芯片11包括算力芯粒硅片A、算力芯粒硅片B以及算力芯粒硅片C,算力芯粒硅片A可以与算力芯粒硅片B和算力芯粒硅片C中的至少一者连接,例如,算力芯粒硅片A与算力芯粒硅片B连接,由于算力芯粒硅片C不允许孤立部署,算力芯粒硅片C连接算力芯粒硅片B,此时形成算力芯粒硅片A连接算力芯粒硅片B、算力芯粒硅片C连接算力芯粒硅片B的连接形式。或者,算力芯粒硅片A与算力芯粒硅片B、算力芯粒硅片C连接,此时,算力芯粒硅片B可以连接算力芯粒硅片C,也可以不与算力芯粒硅片C连接。针对N为其他取值的情况,这里不再一一列举,不论N的取值为多少,需要保证同一封装基板111上不存在孤立部署的算力芯粒硅片。 [0067] 如图3所示,在电路板10上布设至少两个算力芯片11的情况下,第一算力芯片与至少一个第二算力芯片连接,相连接的第一算力芯片与第二算力芯片之间部署至少一条电路板连线114;其中,第一算力芯片为至少两个算力芯片11中的任意一个,区别于第一算力芯片的其他算力芯片11为第二算力芯片。 [0068] 本申请实施例提供的算力加速卡包括P个算力芯片11,在P的取值大于或者等于2的情况下,电路板10上布设至少两个算力芯片11。至少两个算力芯片11中的第一算力芯片与至少一个第二算力芯片连接,第一算力芯片为至少两个算力芯片11中的任意一个,至少两个算力芯片11中区别于第一算力芯片的其他算力芯片11为第二算力芯片。 [0069] 且相连接的第一算力芯片与第二算力芯片之间部署一条或者多条电路板连线114,针对第一算力芯片与第二算力芯片之间部署一条电路板连线114的情况,第一算力芯片中的一算力芯粒硅片112与第二算力芯片中的一算力芯粒硅片112连接;针对第一算力芯片与第二算力芯片之间部署多条电路板连线114的情况,第一算力芯片中的至少一个算力芯粒硅片112与第二算力芯片中的多个算力芯粒硅片112连接,即,第一算力芯片中的一个算力芯粒硅片112可以与第二算力芯片中的多个算力芯粒硅片112连接,也可以是第一算力芯片中的多个算力芯粒硅片112与第二算力芯片中的多个算力芯粒硅片112一一对应连接,还可以是其他连接情况,这里不再一一阐述。图3中示意的是相连接的两个算力芯片11之间布设一条电路板连线114以及相连接的两个算力芯片11之间布设两条电路板连线114的情况。 [0070] 作为举例,电路板10上布设两个算力芯片11,分别为算力芯片E和算力芯片F,算力芯片E与算力芯片F之间布设一条电路板连线114,算力芯片E与算力芯片F通过该条电路板连线114进行连接。或者,算力芯片E、算力芯片F分别包括两个算力芯粒硅片112,算力芯片E中的两个算力芯粒硅片112与算力芯片F中的两个算力芯粒硅片112一一对应,且算力芯片E中的一算力芯粒硅片112与算力芯片F中的一算力芯粒硅片112通过电路板连线114连接、算力芯片E中的另一算力芯粒硅片112与算力芯片F中的另一算力芯粒硅片112通过电路板连线114连接。 [0071] 在电路板10上布设其他数量的算力芯片11时,任意一算力芯片11与其他的至少一个算力芯片11连接,且相连接的两个算力芯片11之间存在至少一条电路板连线114,详细情况不在一一列举阐述。 [0072] 需要说明的是,图3中所示意的同一封装基板111内算力芯粒硅片112之间的连接、不同封装基板111上算力芯粒硅片112之间的连接形成二维网格拓扑结构,算力芯粒硅片112之间的连接还可以为其他拓扑互连方式,如星形拓扑、全连接拓扑、环形拓扑等。 [0073] 以上对本申请实施例同一封装基板上的算力芯粒硅片的连接情况、以及不同算力芯片间的连接情况进行了介绍,针对位于同一封装基板上的算力芯粒硅片,通过设置任一算力芯粒硅片与至少一个其他的算力芯粒硅片连接,可以避免出现算力芯粒硅片在封装基板上孤立设置的情况;针对相连接的算力芯片,通过设置一条或者多条电路板连线,可以基于至少一条连接通路建立算力芯片之间的互连。 [0074] 以上为本申请实施例提供的算力加速卡的整体实施方案,通过采用芯粒技术将N个算力芯粒硅片互连后进行封装构建算力芯片,在电路板上布设P个算力芯片并基于芯片互连技术将位于不同算力芯片上的算力芯粒硅片互连,可以将算力芯粒硅片在封装级、电路板级进行互连,实现基于算力芯粒硅片间的互连构建高规格算力加速卡;且通过封装至少一个算力芯粒硅片构建算力芯片,可以保证单个算力芯片的算力能力,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本,进而实现合理平衡算力能力需求以及成本需求。 [0075] 进一步地,通过提供用于算力芯粒硅片互连的统一互连接口,可以无需设计两套接口分别用于封装级互连、电路板级互连,降低互连复杂度、控制成本;通过设置高速串行接口支持调整传输速率,在通过基板连线连接同一封装基板上的算力芯粒硅片时对应于第一传输速率、在通过电路板连线连接不同封装基板上的算力芯粒硅片时对应于第二传输速率,实现在连接算力芯粒硅片的同时以适配的传输速率在算力芯粒硅片间进行数据传输。 [0076] 针对位于同一封装基板上的算力芯粒硅片,通过设置任一算力芯粒硅片与至少一个其他的算力芯粒硅片连接,可以避免出现算力芯粒硅片在封装基板上孤立设置的情况;针对相连接的算力芯片,通过设置一条或者多条电路板连线,可以基于至少一条连接通路建立算力芯片之间的互连。 [0077] 本申请实施例还提供一种算力服务器,包括至少一个上述实施例中的算力加速卡,算力加速卡设置于算力服务器的卡槽中;在算力服务器包括多个算力加速卡的情况下,多个算力加速卡之间形成板卡级互连,且相连接的两个算力加速卡之间具有至少一种板卡级互连结构。 [0078] 本申请实施例提供的算力服务器包括至少一个卡槽,卡槽用于容纳上述实施例中的算力加速卡。由于算力加速卡包括P个算力芯片,每个算力芯片包括N个算力芯粒硅片,同一算力芯片上的算力芯粒硅片可形成封装级互连、不同算力芯片上的算力芯粒硅片可形成电路板级互连,可以保证算力加速卡的算力规格。通过将一个或者多个算力加速卡设置于对应的卡槽中,在算力服务器包括多个算力加速卡的情况下,形成算力加速卡的板卡级互连,可以保证算力服务器的算力性能。 [0079] 针对算力服务器包括多个算力加速卡的情况,任意一算力加速卡与其他的至少一个算力加速卡之间形成板卡级互连。针对相连接的两个算力加速卡,两者之间通过板接桥形成板卡级互连,也可以采用专用的互连芯片形成板卡级互连;且相连接的两个算力加速卡之间具有至少一种板卡级互连结构。其中,算力加速卡之间的连接通过算力芯粒硅片之间的连接实现,具体为通过算力芯粒硅片上的高速串行接口之间的连接实现。且针对相连接的两个算力加速卡,两者之间通过一对算力芯粒硅片或者多对算力芯粒硅片之间的连接实现连接,这里的一对算力芯粒硅片包括位于一算力加速卡上的算力芯粒硅片以及位于另一算力加速卡上的算力芯粒硅片。每一对算力芯粒硅片对应于一种板卡级互连结构,因此相连接的两个算力加速卡之间具有至少一种板卡级互连结构。 [0080] 作为举例,如图5所示,两个算力加速卡(算力加速卡A以及算力加速卡B)均包括4个算力芯片,且每个算力芯片上部署2个算力芯粒硅片,两个算力加速卡之间形成4条连接通路,每条连接通路对应于一种板卡级互连结构。具体为:算力加速卡A中的算力芯片A1中的算力芯粒硅片a1与算力加速卡B中的算力芯片B1中的算力芯粒硅片b1通过板接桥连接;算力加速卡A中的算力芯片A1中的算力芯粒硅片a1'与算力加速卡B中的算力芯片B1中的算力芯粒硅片b1'通过板接桥连接;算力加速卡A中的算力芯片A2中的算力芯粒硅片a2与算力加速卡B中的算力芯片B2中的算力芯粒硅片b2通过板接桥连接;算力加速卡A中的算力芯片A2中的算力芯粒硅片a2'与算力加速卡B中的算力芯片B2中的算力芯粒硅片b2'通过板接桥连接。 [0081] 本申请实施例提供的算力服务器,部署一个或者多个上述实施例提供的高规格的算力加速卡,在算力服务器包括多个算力加速卡的情况下,形成算力加速卡的板卡级互连,可以保证算力服务器的算力性能。 [0082] 本申请实施例还提供一种算力加速卡设计方法,如图6所示,该方法包括: [0083] 步骤601、提供算力芯粒硅片,算力芯粒硅片包括算力核心单元以及与算力核心单元连接的M个高速串行接口,M为大于或者等于1的整数。 [0084] 本申请实施例在设计算力加速卡时,首先提供算力芯粒硅片,所提供的算力芯粒硅片的数量为多个,特殊情况下为1个。算力芯粒硅片包括算力核心单元以及与算力核心单元连接的至少一个高速串行接口。不同的算力芯粒硅片所对应的高速串行接口的数目可以相同,也可以有所差异。 [0085] 单个算力芯粒硅片对应的M个高速串行接口的接口结构相同,对于不同的算力芯粒硅片,对应于相同接口结构的高速串行接口,即,不同的算力芯粒硅片共享同一接口结构的高速串行接口。 [0086] 步骤602、基于每个算力芯片包括N个算力芯粒硅片的设计规则、进行算力芯粒硅片封装,获取P个算力芯片,N为大于或者等于1的整数、且小于或者等于单个算力芯片所允许容纳的算力芯粒硅片数目阈值,P为大于或者等于1的整数。 [0087] 在提供算力芯粒硅片之后,基于每个算力芯片包括N个算力芯粒硅片的设计规则、采用封装基板对算力芯粒硅片进行封装,获取P个算力芯片。P的取值大于或者等于1,即,按照设计规则对算力芯粒硅片进行封装,获取至少一个算力芯片。 [0088] N的取值大于或者等于1,通过设计包括至少一个算力芯粒硅片的算力芯片,可以保证单个算力芯片所能容纳的晶体管数量,进而保证单个算力芯片的算力能力;且N的取值小于或者等于单个算力芯片所允许容纳的算力芯粒硅片数目阈值,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本。 [0089] 步骤603、将P个算力芯片布设在电路板上,建立算力芯片之间的电路板级互连,获取包括P个算力芯片的算力加速卡;其中,位于同一算力芯片上的算力芯粒硅片通过对应的高速串行接口形成封装级互连,位于不同算力芯片上的算力芯粒硅片通过对应的高速串行接口形成电路板级互连;P个算力芯片对应的算力核心单元构成核心计算模组;在设计多个算力加速卡时,建立多个算力加速卡之间的板卡级互连。 [0090] 在通过封装得到P个算力芯片之后,将P个算力芯片布设在电路板上,建立算力芯片之间的电路板级互连,进而获取算力加速卡。电路板上所布设的算力芯片的数量基于提供的算力芯粒硅片的数量确定,在提供算力芯粒硅片时,需要考虑电路板的面积以及设计规则,进而提供适配数量的算力芯粒硅片。 [0091] 本申请实施例中的高速串行接口用于将不同的算力芯粒硅片相连,且通过高速串行接口可以连接部署在同一算力芯片上的不同算力芯粒硅片,通过高速串行接口也可以连接部署在不同算力芯片上的算力芯粒硅片,进而实现不同算力芯片的连接。针对位于同一算力芯片上的不同算力芯粒硅片,其通过对应的高速串行接口形成封装级互连,针对位于不同算力芯片上的算力芯粒硅片,其通过对应的高速串行接口形成电路板级互连。 [0092] 由于同一算力芯片中的不同算力芯粒硅片之间可以形成互连,位于不同算力芯片上的算力芯粒硅片可以形成互连,则通过算力芯粒硅片之间的互连,可以将P个算力芯片对应的算力核心单元组成核心计算模组,以构建出高规格算力加速卡的核心组件。 [0093] 上述设计过程,基于N个算力芯粒硅片构建一算力芯片,在电路板上布设P个算力芯片并基于芯片互连技术将不同的算力芯片互连,可以构建出高规格算力加速卡;且通过封装至少一个算力芯粒硅片构建算力芯片,可以保证单个算力芯片的算力能力,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本,进而实现合理平衡算力能力需求以及成本需求。 [0094] 需要说明的是,针对提供一个算力芯粒硅片的特殊情况,算力加速卡包括一个算力芯片,算力芯片包括一个算力芯粒硅片。针对设计多个算力加速卡的情况,可以建立多个算力加速卡之间的板卡级互连。针对任意一算力加速卡,其与其他的至少一个算力加速卡之间形成板卡级互连。针对相连接的两个算力加速卡,两者之间通过板接桥形成板卡级互连,也可以采用专用的互连芯片形成板卡级互连;且相连接的两个算力加速卡之间具有至少一种板卡级互连结构。关于算力加速卡之间互连的具体情况参见上述算力服务器实施例的相关介绍,这里不再赘述。 [0095] 作为一可选实施例,在基于每个算力芯片包括N个算力芯粒硅片的设计规则、进行算力芯粒硅片封装,获取P个算力芯片时,包括: [0096] 提供P个封装基板; [0097] 基于每个封装基板布设N个算力芯粒硅片的布局策略,采用第一连接规则建立同一封装基板上的N个算力芯粒硅片之间的封装级互连、对算力芯粒硅片进行封装,获取P个算力芯片; [0098] 其中,第一连接规则为部署于同一算力芯片上的算力芯粒硅片间的连接规则,同一算力芯片上两个相连的算力芯粒硅片的对应高速串行接口通过基板连线形成封装级互连,高速串行接口对应的第一传输速率为基板连线对应的传输速率。 [0099] 本实施例中,算力芯片包括一封装基板以及N个算力芯粒硅片,在通过封装算力芯粒硅片获取P个算力芯片时,提供P个封装基板,基于每个封装基板布设N个算力芯粒硅片的布局策略,确定各封装基板对应的N个算力芯粒硅片,针对每个封装基板,采用第一连接规则建立同一封装基板上的N个算力芯粒硅片之间的封装级互连、对N个算力芯粒硅片进行封装,从而获取P个算力芯片。 [0100] 所需要提供的封装基板的数量基于提供的算力芯粒硅片的数量以及单个算力芯片对应的算力芯粒硅片的数量确定。第一连接规则为部署于同一算力芯片上的算力芯粒硅片间的连接规则,在一个算力芯片中,任意一算力芯粒硅片与其他的至少一个算力芯粒硅片连接,即,针对算力芯片所包括的N个算力芯粒硅片中的任意一算力芯粒硅片,该算力芯粒硅片与(N‑1)个算力芯粒硅片中的至少一者连接。 [0101] 本申请实施例中的高速串行接口为用于算力芯粒硅片互连的统一互连接口,统一互连接口可以作为封装互连接口,封装互连接口为用于连接位于同一封装基板上的算力芯粒硅片的接口。对于同一算力芯片上两个相连的算力芯粒硅片,其对应的高速串行接口(封装互连接口)通过基板连线形成封装级互连。 [0102] 基板连线为布设在封装基板上的连线,基板连线用于连接位于同一算力芯片上的算力芯粒硅片,且基板连线的两端分别连接两个算力芯粒硅片上的对应高速串行接口。即,位于同一算力芯片上的、可形成连接关系的两个算力芯粒硅片,其对应的高速串行接口通过布设在封装基板上的基板连线进行连接,进而实现两个算力芯粒硅片之间的连接。由于基板连线用于连接封装互连接口,基板连线对应的传输速率为第一传输速率,因此封装互连接口对应于第一传输速率。 [0103] 可选地,在将P个算力芯片布设在电路板上,建立算力芯片之间的电路板级互连,获取包括P个算力芯片的算力加速卡时,包括: [0104] 提供一电路板; [0105] 在电路板上布设P个算力芯片,基于第二连接规则建立P个算力芯片之间的电路板级互连,获取算力加速卡; [0106] 其中,第二连接规则为部署于不同算力芯片上的算力芯粒硅片间的连接规则,位于不同算力芯片上两个相连的算力芯粒硅片的对应高速串行接口通过电路板连线形成电路板级互连,高速串行接口对应的第二传输速率为电路板连线对应的传输速率。 [0107] 在通过封装得到P个算力芯片之后,在所提供的电路板上布设P个算力芯片,采用第二连接规则建立同一电路板上P个算力芯片之间的电路板级互连,以获取算力加速卡。第二连接规则为部署于不同算力芯片上的算力芯粒硅片间的连接规则,在一电路板中,任意一算力芯片与其他的至少一个算力芯片连接。即,在P的取值大于或者等于2的情况下,针对电路板上所布设的P个算力芯片中的任意一算力芯片,该算力芯片与(P‑1)个算力芯片中的至少一者连接。 [0108] 其中,统一互连接口还可以作为电路板互连接口,电路板互连接口为用于连接位于不同封装基板上的算力芯粒硅片的接口。对于不同算力芯片上两个相连的算力芯粒硅片,其对应的高速串行接口(电路板互连接口)通过电路板连线形成电路板级互连。 [0109] 电路板连线为布设在电路板上的连线,电路板连线用于连接位于不同算力芯片上的算力芯粒硅片,且电路板连线的两端分别连接两个算力芯粒硅片上的对应高速串行接口。即,位于不同算力芯片上的、可形成连接关系的两个算力芯粒硅片,其对应的高速串行接口通过布设在电路板上的电路板连线进行连接,进而实现两个算力芯粒硅片之间的连接。 [0110] 由于电路板连线用于连接电路板互连接口,电路板连线对应的传输速率为第二传输速率,因此电路板互连接口对应于第二传输速率。且由于电路板连线需要跨越不同封装基板,因此电路板连线对应的传输速率通常需要降下来,封装基板上布设的基板连线对应的传输速率大于或者等于电路板连线对应的传输速率,即,第一传输速率大于或者等于第二传输速率。 [0111] 即,本申请实施例提供的高速串行接口支持调整传输速率,且高速串行接口支持两种工作模式,一是封装互连模式,二是电路板互连模式,在高速串行接口为封装互连模式时,对应于第一传输速率,在高速串行接口为电路板互连模式时,对应于第二传输速率。针对通过基板连线连接位于同一算力芯片上的两个算力芯粒硅片的高速串行接口,其对应于第一传输速率;针对通过电路板连线连接位于不同算力芯片上的两个算力芯粒硅片的高速串行接口,其对应于第二传输速率。 [0112] 关于高速串行接口、传输速率、同一封装基板上的算力芯粒硅片的连接情况以及不同算力芯片间的连接情况的详细介绍可参见算力加速卡实施例中的相关阐述,这里不再进一步说明。且对于设计方法实施例,由于其与算力加速卡实施例的内容相似,相关之处参见算力加速卡实施例的部分说明即可。 [0113] 本申请实施例提供的算力加速卡设计方法,通过采用芯粒技术将N个算力芯粒硅片互连后进行封装构建算力芯片,在电路板上布设P个算力芯片并基于芯片互连技术将位于不同算力芯片上的算力芯粒硅片互连,可以将算力芯粒硅片在封装级、电路板级进行互连,实现基于算力芯粒硅片间的互连构建高规格算力加速卡;且通过封装至少一个算力芯粒硅片构建算力芯片,可以保证单个算力芯片的算力能力,通过限制单个算力芯片所允许容纳的算力芯粒硅片的数量,可以降低单个算力芯片的封装成本,提升封装良率,降低芯片成本,进而实现合理平衡算力能力需求以及成本需求。 [0114] 通过提供用于算力芯粒硅片互连的统一互连接口,可以无需设计两套接口分别用于封装级互连、电路板级互连,降低互连复杂度、控制成本。 [0115] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。 [0116] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。 |