解密一颗芯片设计的全生命周期算力需求
对广大半导体设计公司而言,算力资源规划和现金流之间的平衡,啧啧,是一门艺术。
多一分是浪费,少一分则崩溃。
我们曾经在初创型IC企业必备白皮书和成长型IC企业必备白皮书里分别画过以下两张
左图名字叫做:守护现金流
这年头现金流的重要性,不必多说。
右图名字叫做:人生就是一场豪赌
不管是初创IC设计公司还是成熟公司,新开始一个项目,总是面临着前路未知的情况:
1. 周期性存在突发算力高峰需求,涉及到先进制程问题更加显著;
2. 每次调整制程,都面临新的资源预估,永远估不准;
3. 可能需要某些内部不可用的内存和计算资源。
我们今天认真盘一盘,怎么把这门艺术拉下神坛。
先给大家一个直观感受。
下图是我们某客户全生命周期月度算力实际用量曲线:整个芯片项目全流程为18个月,涉及前端、验证、后端三大团队。
1. 前4个月,只涉及到前端布局与架构,对于算力需求不高,因此月度算力需求较少;
2. 从5月开始,前端、验证、后端均开始工作,算力开始逐步提升,第11个月达算力小高峰,在第16个月达算力最高峰,月度调度峰值达到百万级核时以上;
3. 算力波峰和波谷的核数差距在20倍以上;
4. 算力在第16个月达到最高峰后,迅速下降。
下面我们手把手教你怎么把算力规划拉下神坛:
Part 1 小白版算法
Part 2 老司机版算法
Part 3 全年现实算力需求折算
Part 4 一个并不艰难的选择
注:Part 1 小白版算法针对的是:项目全新,团队人员也比较新,需要从零计算
为了简化计算,我们根据现实情况作以下假设:
1. 研发团队总人数为100;
2. 团队分为前端、验证和后端3部分,人数比值2:1:1;3. 芯片的全周期分为3个阶段,每阶段4个月 (仅适用小白版算法);4. 三个团队主要使用资源类型:前端团队使用计算型机器;验证团队前期使用计算型机器,之后使用内存型机器;后端团队使用内存型机器 。
Part1 :小白版算法
这套小白版算法是我们根据N家客户的实际情况,得出的经验参考值:包括不同阶段,不同团队的人员配比与人力占用比例,每人job数,每人每job峰值核数。因实际团队并非全程在此项目中,部分阶段人力需折算,即人力占用比例。在我们的参考值基础上略做调整,大家就能大致得出自己公司的相应数值啦。这套算法通过估算不同阶段内、各个团队所需的算力峰值之和,得出每阶段的算力峰值。各团队的峰值计算公式为每人每job峰值核数(多台机器则为每台核数*机器数)*团队人数*每人job数(每个阶段计算方式一致)。
Stage 1:前期阶段(第1-4个月)
① 阶段工作详情:前端从事设计相关工作,验证团队同步参与,工作状态都较为稳定,此阶段每月峰值核数趋于一致;
该阶段峰值核时计算(计量单位:核小时):
Stage 2:中期阶段(5-8月)
① 阶段工作详情:涉及到前端仿真、验证和部分模块的版图工作。6月在前仿最后阶段做一次大仿真,是算力小波峰,随后算力下降;
计算结果如下

Stage 3:后期阶段(9-12月)
① 阶段工作详情:主要涉及后端仿真相关工作;


1. 和文章开头的实际用户算力曲线趋势一致;
Part2 :老司机版算法
如果对于未来芯片项目,你们有过来人能预估出不同团队不同阶段的算力需求,这套老司机版算法将完全适配你。下面为大家奉上这份《XXX芯片项目-资源需求调研模板》:
左边项目为不同的项目团队。项目团队内部可分为:前端、验证和后端组。
Step 1:将不同组、每个job所需核数或内存的峰值需求,依次填入中间的“每job峰值核数”和“每job峰值内存”栏目下,负责人填入“团队负责人”栏目下
例如:每个job需要的峰值核数为10,每个job需要峰值内存为20(据经验值统计),前端负责人为Andy。
Step 2:在每月栏目下,填入各团队预期的每月并行最大job数(简称:job数)
Job数可根据研发内部统计,也可根据job数=每人最大并行job数*人数进行计算,如团队并非全程在此项目中,人力还需折算统计。例如:2022年2-5月,前端团队每人最大并行job数为1,团队有50人,均100%投入在此项目中,则填入下表的job数均为:50*1*100%=50。
Step 3:计算各团队当月峰值算力并相加,得出峰值算力总计(计量单位:核小时)
各团队的峰值计算公式:每job峰值核数*job数(每个阶段计算方式一致)。例如:2022年2-5月,前端团队的每job峰值核数为10,job数为50;2月验证团队还未开始任务,3-5月,验证团队的每job峰值核数为20,job数为25;2-5月,后端团队还未开始任务。
计算过程如下
Part3 :全年现实算力需求折算
不管是小白版算法还是老司机版算法,都是一个月每天全部按峰值需求跑任务的前提下进行计算的。我们折算一下:全月全资源峰值用量:峰值核数*30天*24小时全月实际用量可能是:峰值核数*22天*8小时
用小白版算法的数据来调整:6月算力小波峰:后端按30天*18小时估算,验证按30天*16小时估算;
得出下表,并绘制成相应曲线图:

Part4 :一个并不艰难的选择
好了,全生命周期算力需求算完了。到了算账的环节了。绿色代表本地资源,必须按这一阶段需求峰值准备,也就是按灰色来准备。
如果是纯本地,就是按绿色这根线买。现金流是必须要动用一大笔的了,采购周期也是必须要考虑的。
绿色线和橙色线中间的差距(图中阴影部分),各人可能有各人的体会。算力资源规划VS现金流
芯片项目周期VS市场竞争格局具体怎么权衡和取舍,还是要看企业自己。
一颗芯片设计完整生命周期下,不同阶段,不同应用场景,对算力更精细的需求差异,我们相应的推荐和建议,以后再聊。
- END -
我们有个一站式IC设计云平台
现在!

如果你对这个一站式IC设计云平台还有更多想问的,比如:
关于为应用定义的云平台:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律