解密一顆芯片設(shè)計的全生命周期算力需求
對廣大半導(dǎo)體設(shè)計公司而言,算力資源規(guī)劃和現(xiàn)金流之間的平衡,嘖嘖,是一門藝術(shù)。
多一分是浪費(fèi),少一分則崩潰。
我們曾經(jīng)在初創(chuàng)型IC企業(yè)必備白皮書和成長型IC企業(yè)必備白皮書里分別畫過以下兩張圖:
左圖名字叫做:守護(hù)現(xiàn)金流
這年頭現(xiàn)金流的重要性,不必多說。
右圖名字叫做:人生就是一場豪****
不管是初創(chuàng)IC設(shè)計公司還是成熟公司,新開始一個項目,總是面臨著前路未知的情況:
1. 周期性存在突發(fā)算力高峰需求,涉及到先進(jìn)制程問題更加顯著;
2. 每次調(diào)整制程,都面臨新的資源預(yù)估,永遠(yuǎn)估不準(zhǔn);
3. 可能需要某些內(nèi)部不可用的內(nèi)存和計算資源。
我們今天認(rèn)真盤一盤,怎么把這門藝術(shù)拉下神壇。
先給大家一個直觀感受。
下圖是我們某客戶全生命周期月度算力實際用量曲線:整個芯片項目全流程為18個月,涉及前端、驗證、后端三大團(tuán)隊。
1. 前4個月,只涉及到前端布局與架構(gòu),對于算力需求不高,因此月度算力需求較少;
2. 從5月開始,前端、驗證、后端均開始工作,算力開始逐步提升,第11個月達(dá)算力小高峰,在第16個月達(dá)算力最高峰,月度調(diào)度峰值達(dá)到百萬級核時以上;
3. 算力波峰和波谷的核數(shù)差距在20倍以上;
4. 算力在第16個月達(dá)到最高峰后,迅速下降。
Part 1 小白版算法
Part 2 老司機(jī)版算法
Part 3 全年現(xiàn)實算力需求折算
Part 4 一個并不艱難的選擇
Part 1 小白版算法針對的是:項目全新,團(tuán)隊人員也比較新,需要從零計算Part 2 老司機(jī)版算法針對的是:項目全新,但有類似經(jīng)驗的老人在團(tuán)隊,可以憑經(jīng)驗值估算PS:Part 1和Part 2 二選一閱讀即可
為了簡化計算,我們根據(jù)現(xiàn)實情況作以下假設(shè):
1. 研發(fā)團(tuán)隊總?cè)藬?shù)為100;
Part1 :小白版算法
這套小白版算法是我們根據(jù)N家客戶的實際情況,得出的經(jīng)驗參考值:包括不同階段,不同團(tuán)隊的人員配比與人力占用比例,每人job數(shù),每人每job峰值核數(shù)。因?qū)嶋H團(tuán)隊并非全程在此項目中,部分階段人力需折算,即人力占用比例。在我們的參考值基礎(chǔ)上略做調(diào)整,大家就能大致得出自己公司的相應(yīng)數(shù)值啦。
這套算法通過估算不同階段內(nèi)、各個團(tuán)隊所需的算力峰值之和,得出每階段的算力峰值。各團(tuán)隊的峰值計算公式為每人每job峰值核數(shù)(多臺機(jī)器則為每臺核數(shù)*機(jī)器數(shù))*團(tuán)隊人數(shù)*每人job數(shù)(每個階段計算方式一致)。
Stage 1:前期階段(第1-4個月)
① 階段工作詳情:前端從事設(shè)計相關(guān)工作,驗證團(tuán)隊同步參與,工作狀態(tài)都較為穩(wěn)定,此階段每月峰值核數(shù)趨于一致;② 涉及團(tuán)隊:前端、驗證團(tuán)隊;③ 資源并發(fā)需求:前端團(tuán)隊每人1臺10核、驗證團(tuán)隊每人1臺20核。
該階段峰值核時計算(計量單位:核小時):1月:10核*50人*1job=5002-4月:前端團(tuán)隊峰值核數(shù)=10*50*1=500 ;驗證團(tuán)隊峰值核數(shù)=20*25*1=500;峰值核數(shù)總計為500+500=1000;則該階段的峰值核數(shù)在2-4月,為1000(下同,不再詳述這一計算過程)
Stage 2:中期階段(5-8月)
① 階段工作詳情:涉及到前端仿真、驗證和部分模塊的版圖工作。6月在前仿最后階段做一次大仿真,是算力小波峰,隨后算力下降;② 涉及團(tuán)隊:前端、驗證和后端團(tuán)隊;③ 資源并發(fā)需求峰值:5月:前端團(tuán)隊每人1臺18核節(jié)點(diǎn),每人1個job;驗證團(tuán)隊每人4個job,每個job約18核(人力占用比例:75%);后端團(tuán)隊每人1臺18核節(jié)點(diǎn);6月:前端團(tuán)隊每人1臺24核節(jié)點(diǎn),每人1個job;驗證團(tuán)隊每人6個job,每個job約24核(人力占用比例:75%);后端團(tuán)隊每人1臺18核節(jié)點(diǎn);7月:前端團(tuán)隊每人1臺18核節(jié)點(diǎn),每人1個job(人力占用比例:40%);驗證團(tuán)隊每人3個job,每個job約18核;后端團(tuán)隊每人1個job,每job約4臺18核節(jié)點(diǎn);8月:前端團(tuán)隊每人1個job,每個job18核(人力占用比例:40%);驗證團(tuán)隊每人2個job,每個job18核;后端團(tuán)隊每人1個job,每個job約4臺24核節(jié)點(diǎn)。
計算結(jié)果如下
Stage 3:后期階段(9-12月)
① 階段工作詳情:主要涉及后端仿真相關(guān)工作;② 涉及團(tuán)隊:驗證和后端團(tuán)隊;③ 資源并發(fā)需求:9月:驗證團(tuán)隊,每人4個job,每個job約18核;后端團(tuán)隊每人1-2個job,每個job約4臺24核節(jié)點(diǎn)(后端人均完成1.6個job,取值1.6);10月:驗證團(tuán)隊每人6個job,每個job約24核;后端團(tuán)隊每人1-2個job,每job約6臺24核工作節(jié)點(diǎn)(后端人力占用比例:80%,每人2個job);11月:驗證團(tuán)隊每人6個job,每個job約24核;后端團(tuán)隊每人1個job,每job約4臺24核工作節(jié)點(diǎn);12月:驗證團(tuán)隊每人6個job,每個job約18核;后端團(tuán)隊每人1個job,每job約3臺24核工作節(jié)點(diǎn)。
計算結(jié)果如下最終全生命周期算力需求圖如下(計量單位:核小時):可以看出:
1. 和文章開頭的實際用戶算力曲線趨勢一致;2. 不同月份間的峰值算力差異很大,能達(dá)到20倍左右;3. 不同團(tuán)隊在不同月份的峰值算力需求差異明顯。
Part2 :老司機(jī)版算法
如果對于未來芯片項目,你們有過來人能預(yù)估出不同團(tuán)隊不同階段的算力需求,這套老司機(jī)版算法將完全適配你。這套算法是我們根據(jù)有項目經(jīng)驗的芯片研發(fā)團(tuán)隊的實際情況,通過填入各月每job峰值核數(shù)、每月最大并行job數(shù),計算出各團(tuán)隊每月所需的算力峰值。
下面為大家奉上這份《XXX芯片項目-資源需求調(diào)研模板》:
Step 1:將不同組、每個job所需核數(shù)或內(nèi)存的峰值需求,依次填入中間的“每job峰值核數(shù)”和“每job峰值內(nèi)存”欄目下,負(fù)責(zé)人填入“團(tuán)隊負(fù)責(zé)人”欄目下
例如:每個job需要的峰值核數(shù)為10,每個job需要峰值內(nèi)存為20(據(jù)經(jīng)驗值統(tǒng)計),前端負(fù)責(zé)人為Andy。
Step 2:在每月欄目下,填入各團(tuán)隊預(yù)期的每月并行最大job數(shù)(簡稱:job數(shù))
Job數(shù)可根據(jù)研發(fā)內(nèi)部統(tǒng)計,也可根據(jù)job數(shù)=每人最大并行job數(shù)*人數(shù)進(jìn)行計算,如團(tuán)隊并非全程在此項目中,人力還需折算統(tǒng)計。
例如:2022年2-5月,前端團(tuán)隊每人最大并行job數(shù)為1,團(tuán)隊有50人,均100%投入在此項目中,則填入下表的job數(shù)均為:50*1*100%=50。
Step 3:計算各團(tuán)隊當(dāng)月峰值算力并相加,得出峰值算力總計(計量單位:核小時)
各團(tuán)隊的峰值計算公式:每job峰值核數(shù)*job數(shù)(每個階段計算方式一致)。
計算過程如下前端團(tuán)隊:2-5月:10*50=500驗證團(tuán)隊:3-5月:20*25=500將各團(tuán)隊每月算力峰值相加,得到每月項目的算力峰值,計算得出項目各月算力峰值表《XXX芯片項目-資源需求調(diào)研模板》Server一欄的Middle /High 型是用戶自己設(shè)定的不同機(jī)器配置,后期計算不同機(jī)型費(fèi)用時會用到,跟算力需求計算無關(guān)。
Part3 :全年現(xiàn)實算力需求折算
不管是小白版算法還是老司機(jī)版算法,都是一個月每天全部按峰值需求跑任務(wù)的前提下進(jìn)行計算的。但實際情況下,肯定不需要一直按峰值頂格跑。
我們折算一下:全月全資源峰值用量:峰值核數(shù)*30天*24小時全月實際用量可能是:峰值核數(shù)*22天*8小時
用小白版算法的數(shù)據(jù)來調(diào)整:6月算力小波峰:后端按30天*18小時估算,驗證按30天*16小時估算;10月算力大波峰:后端按30天*24小時估算,驗證按照30天*16小時估算。
得出下表,并繪制成相應(yīng)曲線圖:
Part4 :一個并不艱難的選擇
好了,全生命周期算力需求算完了。到了算賬的環(huán)節(jié)了。灰色代表當(dāng)月按峰值頂格算的用量,橙色代表月度實際用量。
綠色代表本地資源,必須按這一階段需求峰值準(zhǔn)備,也就是按灰色來準(zhǔn)備。買不到峰值,肯定會影響到芯片項目進(jìn)度。
如果是純本地,就是按綠色這根線買。現(xiàn)金流是必須要動用一大筆的了,采購周期也是必須要考慮的。按照本文開頭我們某客戶全生命周期月度算力實際用量曲線,波峰、波谷間差距可高達(dá)20倍,月調(diào)度核時峰值能達(dá)到百萬級以上。頂格買……如果是全云端,就是按橙色這根線花錢。想用就用,不想用就關(guān)掉,用了才花錢?,F(xiàn)金流逐步平緩支出。
綠色線和橙色線中間的差距(圖中陰影部分),各人可能有各人的體會。算力資源規(guī)劃VS現(xiàn)金流
芯片項目周期VS市場競爭格局具體怎么權(quán)衡和取舍,還是要看企業(yè)自己。
一顆芯片設(shè)計完整生命周期下,不同階段,不同應(yīng)用場景,對算力更精細(xì)的需求差異,我們相應(yīng)的推薦和建議,以后再聊。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。