第58章 疯狂推进度(2/2)
这活高德伟自己可以干,但是他不太想,他年龄大了,不想那么累。
陈一然看这样不是个勤快人,团队里现在看只有拉杰比较合適。
然而用了两天,陈一然就让高德伟看到了什么叫做天才。
他几乎是一己之力,把可视范围內的麻烦全都解决了,该设计的全都设计好了。
这种人,不上班也就不上班了。隨便在线指挥一下,就足够让项目疯狂推进了。
接下来几天,陈一然基本上每天睡到自然醒,遛完皮蛋就开始一边看剧一边在线和员工们交流问题。
有问题的不少,但大多数自己琢磨一会就解决了。真正需要他帮忙的,都是茉莉能一眼看出来的东西。
林志伟在解析 lef 文件的时候撞上了格式版本的问题,ispd 2006 的数据还是 lef 5.6 的老格式,他按 5.7 写的解析器读到 obs 段就报错。茉莉扫了一眼,知道是 obs 段的 layer 嵌套在 5.6 和 5.7 之间改了,补了个向下兼容。
张明辉那边跑大案例的时候內存炸了,他习惯性地先把整个 netlist 读到內存再建结构,bigblue4 两百万个 cell 一口气吃掉了 16g。
陈一然让他改成流式解析,边读边建图,省掉中间的完整副本。张明辉是 ea 出来的,游戏引擎的资源加载全是流式的,这活对他来说应该顺手。果然第二天就重构完了,內存砍了一半。
阿密特遇到的麻烦比较刁钻,macro cell 的固定位置约束和標准单元的密度约束在同一个区域里衝突了。
需要一个约束消解层,macro 优先,標准单元只在 macro 没占用的空间里生效。茉莉把逻辑理了一下,写了几行发过去,阿密特加了这层之后全部约束通过了,然后发过来了一堆彩虹屁。
除此之外,团队基本上没出什么大问题。可以说,在茉莉的一对一投餵下,公司的磨合非常的快,基本上一周就完成了高德伟预计半个多月才能完成的任务。
周五下午,陈一然开车去了公司。
高德伟在终端前面跑了第一个集成测试,屏幕上的 log 刷了大概三十秒,最后一行显示:ispd 2006 adaptec1 loaded and validated。
办公室里稀稀落落地鼓了几下掌。
陈一然走到白板前面。上面还留著周一画的架构图,旁边多了密密麻麻的箭头和批註,全是这一周大家往上加的。
“下周开始跑第一次 placement,adaptec1,二十万个 cell。不要求线长多好,只要全流程走通。”
林志伟靠在椅子上想了想:“第一次跑的话,我建议先用最简单的隨机初始化做 baseline。不做任何 ai 训练,就隨机放 cell 然后让 deepflow 算线长。先把数据全流程验证一遍,从解析到引擎到线长评估,確保每一步的数据都是对的。等 baseline 確认没问题了再上 rl。”
高德伟点了点头:“同意。而且这个 baseline 本身就有用。你可以同时把模擬退火也跑一遍 adaptec1,用相同的 benchmark 条件。等 rl 训练起来之后,这两个 baseline 就是对比的锚点。”
周天佑手里还拿著半卷网线说:“训练集群这边有个问题。r710 只有 cpu 没有 gpu,placement 的 rl 训练如果是纯 cpu 跑,二十万个 cell 的叠代速度会很慢。deepflow 的增量计算引擎本身可以大幅降低单次叠代的计算量,但是 rl 需要的大量並发探索还是需要 gpu 加速。”
阿密特问:“你之前不是说三台 r710 都调通了吗。”
“调通了,但 r710 是伺服器级的 xeon,没配 gpu 卡。纯 cpu 跑深度学习训练,效率大概只有 gpu 的十分之一。”
高德伟转过来看陈一然:“这周先用 cpu 跑小的,benchmark 跑通了再考虑 gpu 扩容?”
陈一然看了下茉莉的说法,回復道:“先看看 adaptec1 在纯 cpu 上的单次叠代时间。deepflow 的增量更新可能比你想的省算力。如果一晚上能跑几万次叠代,对於二十万个 cell 的初版原型来说够了,后续上大规模训练再配 gpu。”
拉杰有点无奈的说:“儘快吧,我感觉现在只能帮帮忙。”
阿密特点点头说:“下周我可以把八个 benchmark 案例的约束全部翻译完,这周只做完了 adaptec1 这一个。”
“全部八个做完要多久。”
“两周。后面几个大的比较复杂,bigblue 系列有 macro corner 的额外密度约束。”
“先集中精力把 adaptec1 跑通全流程,其他 benchmark 后面再补。”
几个人又討论了一轮,白板上又多了一堆箭头和 todo。
硅谷是这样的,尤其是初创公司,正是大家都很热情的时候,说到兴奋处,几个单身的甚至开始提议乾脆今天晚上不回家,就在在单位住了。
陈一然赶紧败退了,今天可是周五,还要回家和爸妈视频呢,这周国內的房子他们应该就能定下了。