對廣大半導體設計公司而言,算力資源規劃和現金流之間的平衡,嘖嘖,是一門藝術。
多一分是浪費,少一分則崩潰。我們曾經在初創型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 小白版算法
針對的是:項目全新,團隊人員也比較新,需要從零計算
Part 2 老司機版算法
針對的是:項目全新,但有類似經驗的老人在團隊,可以憑經驗值估算
PS:Part 1和Part 2 二選一閱讀即可
為了簡化計算,我們根據現實情況作以下假設:
1. 研發團隊總人數為100;
2. 團隊分為前端、驗證和后端3部分,人數比值2:1:1;
3. 芯片的全周期分為3個階段,每階段4個月 (僅適用小白版算法);4. 三個團隊主要使用資源類型:前端團隊使用計算型機器;驗證團隊前期使用計算型機器,之后使用內存型機器;后端團隊使用內存型機器 。
Part1 :小白版算法
這套小白版算法是我們根據N家客戶的實際情況,得出的經驗參考值:包括不同階段,不同團隊的人員配比與人力占用比例,每人job數,每人每job峰值核數。
因實際團隊并非全程在此項目中,部分階段人力需折算,即人力占用比例。
在我們的參考值基礎上略做調整,大家就能大致得出自己公司的相應數值啦。
這套算法通過估算不同階段內、各個團隊所需的算力峰值之和,得出每階段的算力峰值。各團隊的峰值計算公式為每人每job峰值核數(多臺機器則為每臺核數*機器數)*團隊人數*每人job數(每個階段計算方式一致)。
Stage 1:前期階段(第1-4個月)
① 階段工作詳情:前端從事設計相關工作,驗證團隊同步參與,工作狀態都較為穩定,此階段每月峰值核數趨于一致;
② 涉及團隊:前端、驗證團隊;
③ 資源并發需求:前端團隊每人1臺10核、驗證團隊每人1臺20核。
該階段峰值核時計算(計量單位:核小時):
1月:10核*50人*1job=500
2-4月:前端團隊峰值核數=10*50*1=500 ;
驗證團隊峰值核數=20*25*1=500;
峰值核數總計為500+500=1000;
則該階段的峰值核數在2-4月,為1000
(下同,不再詳述這一計算過程)

Stage 2:中期階段(5-8月)
① 階段工作詳情:涉及到前端仿真、驗證和部分模塊的版圖工作。6月在前仿最后階段做一次大仿真,是算力小波峰,隨后算力下降;
② 涉及團隊:前端、驗證和后端團隊;
③ 資源并發需求峰值:
5月:前端團隊每人1臺18核節點,每人1個job;驗證團隊每人4個job,每個job約18核(人力占用比例:75%);后端團隊每人1臺18核節點;
6月:前端團隊每人1臺24核節點,每人1個job;驗證團隊每人6個job,每個job約24核(人力占用比例:75%);后端團隊每人1臺18核節點;
7月:前端團隊每人1臺18核節點,每人1個job(人力占用比例:40%);驗證團隊每人3個job,每個job約18核;后端團隊每人1個job,每job約4臺18核節點;
8月:前端團隊每人1個job,每個job18核(人力占用比例:40%);驗證團隊每人2個job,每個job18核;后端團隊每人1個job,每個job約4臺24核節點。
計算結果如下

Stage 3:后期階段(9-12月)
① 階段工作詳情:主要涉及后端仿真相關工作;
② 涉及團隊:驗證和后端團隊;
③ 資源并發需求:
9月:驗證團隊,每人4個job,每個job約18核;后端團隊每人1-2個job,每個job約4臺24核節點(后端人均完成1.6個job,取值1.6);
10月:驗證團隊每人6個job,每個job約24核;后端團隊每人1-2個job,每job約6臺24核工作節點(后端人力占用比例:80%,每人2個job);
11月:驗證團隊每人6個job,每個job約24核;后端團隊每人1個job,每job約4臺24核工作節點;
12月:驗證團隊每人6個job,每個job約18核;后端團隊每人1個job,每job約3臺24核工作節點。
計算結果如下

最終全生命周期算力需求圖如下(計量單位:核小時):

可以看出:
1. 和文章開頭的實際用戶算力曲線趨勢一致;
2. 不同月份間的峰值算力差異很大,能達到20倍左右;
3. 不同團隊在不同月份的峰值算力需求差異明顯。
Part2 :老司機版算法
如果對于未來芯片項目,你們有過來人能預估出不同團隊不同階段的算力需求,這套老司機版算法將完全適配你。
這套算法是我們根據有項目經驗的芯片研發團隊的實際情況,通過填入各月每job峰值核數、每月最大并行job數,計算出各團隊每月所需的算力峰值。
下面為大家奉上這份《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月,后端團隊還未開始任務。
計算過程如下
前端團隊:2-5月:10*50=500
驗證團隊:3-5月:20*25=500
將各團隊每月算力峰值相加,得到每月項目的算力峰值,計算得出項目各月算力峰值表

《XXX芯片項目-資源需求調研模板》Server一欄的Middle /High 型是用戶自己設定的不同機器配置,后期計算不同機型費用時會用到,跟算力需求計算無關。
Part3 :全年現實算力需求折算
不管是小白版算法還是老司機版算法,都是一個月每天全部按峰值需求跑任務的前提下進行計算的。但實際情況下,肯定不需要一直按峰值頂格跑。
我們折算一下:
全月全資源峰值用量:峰值核數*30天*24小時
全月實際用量可能是:峰值核數*22天*8小時
用小白版算法的數據來調整:
6月算力小波峰:后端按30天*18小時估算,驗證按30天*16小時估算;
10月算力大波峰:后端按30天*24小時估算,驗證按照30天*16小時估算。
得出下表,并繪制成相應曲線圖:


灰色曲線為按峰值計算的算力需求
橙色曲線為折算后實際需要的算力
Part4 :一個并不艱難的選擇
好了,全生命周期算力需求算完了。到了算賬的環節了。

灰色代表當月按峰值頂格算的用量,橙色代表月度實際用量。
綠色代表本地資源,必須按這一階段需求峰值準備,也就是按灰色來準備。買不到峰值,肯定會影響到芯片項目進度。
如果是純本地,就是按綠色這根線買。現金流是必須要動用一大筆的了,采購周期也是必須要考慮的。
按照本文開頭我們某客戶全生命周期月度算力實際用量曲線,波峰、波谷間差距可高達20倍,月調度核時峰值能達到百萬級以上。頂格買……

如果是全云端,就是按橙色這根線花錢。想用就用,不想用就關掉,用了才花錢。現金流逐步平緩支出。
綠色線和橙色線中間的差距(圖中陰影部分),各人可能有各人的體會。
算力資源規劃VS現金流
芯片項目周期VS市場競爭格局
具體怎么權衡和取舍,還是要看企業自己。
一顆芯片設計完整生命周期下,不同階段,不同應用場景,對算力更精細的需求差異,我們相應的推薦和建議,以后再聊。
- END -
我們有個為應用定義的EDA云平臺
集成多種EDA應用,大量任務多節點并行
應對短時間爆發性需求,連網即用
跑任務快,原來幾個月甚至幾年,現在只需幾小時
5分鐘快速上手,拖拉點選可視化界面,無需代碼
支持高級用戶直接在云端創建集群
掃碼免費試用,送300元體驗金,入股不虧~
現在!我們的IC設計研發云平臺支持免費試用,還送200元體驗金掃碼免費試用~

如果你對這個一站式IC設計云平臺還有更多想問的,比如:
1、你們支持哪些EDA應用?能覆蓋到我常用的軟件嗎?
2、EDA應用所需的計算資源非常大,你們如何解決這個問題?
3、把EDA研發環境部署到云上有什么好處?
4、除了CPU,GPU/TPU/大內存的機器都有嗎?
5、你們說的“一整套即開即用的IC研發設計環境”是什么意思?從本地到云上,操作方式會改變很大嗎?
6、云端輸出計算結果是否與本地完全一致?
7、云端這么多的機器,管理得過來嗎?
8、云上有些資源很貴,有沒有節約成本的方案?
9、任務監控也能用來省錢,你們是怎么做到的?
10、很多PDK,就有幾十T,怎么到云上,而且需要持續更新?
11、如何云上保護我們的IP資產?
12、腳本每日都有變動,云上要增加工作量?工作腳本如何更新?
13、云上的EDA軟件怎么部署安裝?
14、License Server配置在本地和云端對計算性能/一致性/穩定性是否有影響? 15、使用平臺的工作人員比較多,能否對每個人設置使用資源的上限?
16、公司有海外研發部門,用你們平臺方便嗎?
17、怎么保障數據安全?
……答案都在這里,歡迎掃碼添加小F微信(ID:iamfastone)免費獲取~

關于為應用定義的云平臺:
續集來了:上回那個“吃雞”成功的IC人后來發生了什么?
這一屆科研計算人趕DDL紅寶書:學生篇
缺人!缺錢!趕時間!初創IC設計公司如何“絕地求生”?
速石科技獲元禾璞華領投數千萬美元B輪融資
一次搞懂速石科技三大產品:FCC、FCC-E、FCP
速石科技成三星Foundry國內首家SAFE?云合作伙伴
EDA云平臺49問
國內超算發展近40年,終于遇到了一個像樣的對手
幫助CXO解惑上云成本的迷思,看這篇就夠了
花費4小時5500美元,速石科技躋身全球超算TOP500
