第55章 开工(2/2)
“我们公司的第一个產品,是用强化学习驱动的晶片布局引擎。placement,晶片设计流程里最关键也最痛苦的一步。几百万个標准单元,几十亿条连线,在几平方厘米的硅片上找到最优排列。传统方法,模擬退火,力导向,解析法,搞了二十多年,进步越来越慢。”
他敲了敲白板上的 rl。
“强化学习,是我之前做的小项目,核心是一个叫 deepflow 的计算框架,我用这个框架已经做过一些事,比如家里的安全之类的。这个框架的增量计算引擎,脏標记传播算法,拓扑排序驱动的依赖管理,是我从头开发的。
deepflow 的核心优势在哪?它不是普通的深度学习框架,普通的 dl 框架每次叠代都完整跑一遍计算图,不管有没有变化。deepflow 不一样,它记住上一次叠代的计算结果,只重新计算真正变化的部分。这跟 eda 的 placement 有什么关联?”
高德伟接了话:“placement 的每次扰动,只有局部几个元件的位置变了,全局线长和时序的变化不需要从头重算。这正是 deepflow 擅长的,增量式更新。”
“对。”
陈一然在白板上画了个简单的图:“传统 placement 引擎每次移动元件之后重新评估全局线长,o (n) 复杂度。而用 deepflow 做增量更新,只重算受影响的局部区域,可以做到 o (log n)。这意味著我们可以在同样的算力下跑更多次叠代,也就是 ai 学得更快。”
高德伟补充了一句:“传统的模擬退火,一晚上能跑几万次扰动。用 deepflow 架构,我们预计同样的时间可以跑几百万次。强化学习在这种体量的探索下才有可能收敛。”
会议室里安静了几秒。然后林志伟先开口了。
“我在 synopsys 做 ic,compiler 的 qor 优化,placement 这个地方最大的痛苦就是计算成本。跑一次完整 benchmark 几十个小时,改一行代码又要等几十个小时。如果叠代速度能快几十倍,我不敢想。”
“你接下来可以想了。”
陈一然一边说,一边转身在白板上写分工。
高德伟:整体架构 + placement 算法方向
林志伟:placement 引擎核心 + benchmark 体系
阿密特:vlsi 设计约束 + 標准单元库適配
周天佑:gpu 训练集群 + 分布式训练架构
拉杰:vlsi 验证 + gpu 架构验证经验导入
张明辉 / 刘毅 / 桑杰 / 王雪:c++ 基础设施 + 工具链
“凯萨琳管行政,財务,工资表。平时有什么问题,都可以找她,她解决不了再找我。”
凯萨琳在角落站起来和大家点头示意了一下,她今天穿了件白衬衫,有点帅气。
陈一然放下马克笔:“还有什么问题。”
拉杰举了手:“我们的第一个 benchmark 是什么。”
高德伟回答:“cadence 的 ispd 2006 benchmark suite。业界標准的 placement 测试集,从几十万到几百万个 cell。先走通端到端流程,再上大规模。”
“gpu 集群什么时候到位?” 周天佑问。
“三台 r710 已经在路上了,今天下午到。”
王雪举手,有点不好意思:“我现在需要学什么,我好像没办法直接上手。”
“eda 的基础概念,什么是標准单元,什么是网表,什么是线长模型。高老师会给你资料,你们用两周时间上手工具链,第三周开始写底层优化。”
几个 c++ 工程师都点了点头,看起来有点紧张。
会议结束后,大家各自去了自己的位置开始干活。
毕竟是第一天,陈一然也没有直接溜號,而是在高德伟的办公室刷手机。
等到下午,三台 r710 到货。周天佑带著陈一然和高德伟去机房接线,三个人拆包装就拆了半个小时。也不算特別大的东西,包装简直是离谱,房间里到处都是泡沫和纸箱。
陈一然又叫了几个男的过来帮忙,把这堆垃圾扔到了外面垃圾箱。
然后咖啡的香味飘了出来。
凯萨琳很有眼力价的给大家搞了咖啡,味道好不错,对得起这台不便宜的咖啡机。
陈一然喝完了咖啡,像监工一样每个人都看了看,就溜走了。
他今天可是有重要的事情,老朋友昨天晚上飞到的旧金山,今天就要来硅谷看他了。