第58章 疯狂推进度(1/2)
愉快的洛杉磯之行结束,陈一然没等到周一,而是在周末就开始了工作。
之前已经整理了ispd 2006 placement benchmark的全部资料,还有几个测试案例的netlist文件,標准单元库的lef 格式描述,以及官方给出的线长和密度约束文档。
【数据的输入格式已经了解了,lef 描述的是標准单元的物理尺寸和引脚位置,netlist 给出的是单元之间的连通关係。hpwl 半周长线长模型。每个 net 的 bounding box 的宽度加高度,就是线长的近似值。】
“你的意思是,你能直接设计解析器?”
【可以,但这只是第一步。benchmark 的格式本身不复杂,复杂的是怎么把解析出来的数据餵给 deepflow。编辑器的 ast 是一维的树形结构,placement 是二维空间加三维连通。
核心改造在於:增量更新的触发条件从文本变更变成了空间位置变更 —— 当一个 cell 的位置移动,受影响的不再是语法树上的兄弟节点,而是空间上相邻的 cell 和 netlist 上相连的 cell。
我们需要一个 adapter,它的功能是:接收 placement 引擎每次移动 cell 之后的坐標变化,转换成 deepflow 能理解的 delta 描述,然后把 deepflow 计算出的梯度反馈回 placement 引擎。】
陈一然在笔记本上开始画图,茉莉一边分析一边让他改。
陈一然扛著久违的低烧感,努力了来两天。
最终输出了一份 13 页的设计文档,包含:benchmark 解析器架构、deepflow 適配层的接口定义、placement 引擎和 gpu 训练集群之间的数据流约定。每一部分的输入输出格式、数据结构、调用顺序,全都写清楚了。
周一早上,陈一然把设计文档列印了好,发给了每个人。凯萨琳也凑热闹想要一份,被陈一然以浪费纸张为由拒绝了。
高德伟看了五分钟,然后放下文档,看著陈一然。
“老板,不愧是第一个项目就能卖两亿的人啊。”
高德伟站起来走到白板前面,他把陈一然文档里的架构图又画了一遍,画完之后退了两步,看了一会。
“这个適配层的设计是对的,把增量更新的触发条件从 ast 的树形结构改成空间 + 连通性的混合索引 —— 这是 placement 和编辑器最本质的差异。”
周天佑看到 gpu 训练集群和 placement 引擎之间的数据流约定,说自己周末刚好把三台 r710 的 cuda 环境和 mpi 调通了 —— 本来以为还要一两周才能用上,没想到架构文档直接把接口定义好了。
其他人各领了一块,张明辉和刘毅负责 benchmark 解析器,桑杰和王雪负责 lef / 標准单元库的数据加载,阿密特和林志伟开始把 ispd 的物理约束翻译成 deepflow 能处理的格式。
工作分配白板上写满了,陈一然在旁边看了一眼,觉得自己没什么事可做了。
“我明天开始就不过来了,你们自己干,有问题 msn 找我。”
高德伟看了他一眼:“老板你这就居家了?”
“我在家效率更高。”
高德伟对这话是买帐的,作为公司里资歷经验最多的人。
他在前几天其实是有点担忧的,毕竟陈一然开业第二天就带大家出去玩的,这做派虽然会让员工很开心,但是以公司进度来看实在没有什么帮助。
更可怕的是,开业那天虽然他分配了人物,实际上路线也算合理,但是陈一然完全没有给大概的时间表。
高德伟自己算过,如果正常比较流畅的话。
团队磨合 + 工具链搭建需要 1 到 2 周。才能能编译、跑通 ispd 2006 benchmark。
deepflow 適配 placement 也需要 2 到 3 个月,才能適配增量计算引擎適配 2d 空间数据。
最后第一个 benchmark 结果,就得三四月,然后还得和传统方法的初步数据做对比。
rl 训练框架跑通的时候,至少得半年以后。
然后在一年左右,公司能產出可用的商业原型,进行稳定的可比可演示的引擎。
这都是往好了想,中途隨便出点问题,就可能卡很久。没有一个详细的项目时间表,整体团队都有可能变得有点混乱。
开业那天,陈一然完全没提过这些,高德伟感觉出来了,他应该是完全没有这个概念。
想想也正常,之前陈一然只是独立开发者,对整体的项目管理可以说是完全没有经验。
高德伟本来觉得,等陈一然发现问题后,可能提议慢慢的推出一个人做项目整体的主管。
本章未完,点击下一页继续阅读。