林烽刚拉开车门,贺星澜就从楼里追出来了,跑得拖鞋都掉了一只。“林部长!别走!超算的事还没定!”
林烽一只脚踩在车里,一只脚踩在地上,回头看了他一眼。“超算?芯片才刚抽检完,你就搞超算?”贺星澜喘着粗气,光着一只脚,另一只脚趿拉着拖鞋。“芯片是种子,超算是庄稼。种子有了,不种地你留着吃啊?”
邵景峰也从楼里跑出来,手里抱着一摞书,最上面那本封面上写着《并行计算机体系结构》,书页都翻卷了。“林部长,超算架构我琢磨了三个月了。今天必须定下来,不然我睡不着。”林烽把脚从车里抽出来,关上车门。“行。给你们一个小时。定不下来我就走。”
算法设计室在芯片城三楼,门上的牌子还是手写的,字歪歪扭扭,是贺星澜自己拿毛笔刷的。屋里有两块大白板,一块画满了方框和箭头,一块空着。贺星澜站在空白板前面,拿起记号笔,在白板顶上写了四个大字——“超级计算机”。
“先定规模。多少颗芯片?”邵景峰蹲在椅子上,翻开那本旧书,翻到折角的一页。“至少一百颗。一百颗并行,算力才能上去。”贺星澜在白板上写了个“100”,画了个圈。“一百颗芯片怎么连?总线型还是星型?”邵景峰说:“总线型简单,但总线带宽不够。一百颗芯片抢一条总线,堵车。”贺星澜在“100”旁边画了一条横线,写“总线——不行”。
贺星澜又画了个星型,中间一个大方块,周围一圈小方块。“星型,中心交换机,每个芯片连到交换机。带宽够,但交换机复杂。”邵景峰摇头。“交换机要用高速电路,咱们的芯片跑不到那么快。”贺星澜把星型也划掉了。“那你说怎么连?”邵景峰站起来,走到白板前,拿笔画了一张网格——横十条,竖十条,每个交叉点放一颗芯片。“网格。每颗芯片只跟上下左右四颗邻居通信。简单,带宽够,容易扩展。”
贺星澜盯着那个网格看了十秒钟。“行。网格。一百颗芯片,横十竖十,每颗芯片四个邻居。边缘上的芯片只有三个邻居,角上的只有两个。通信路径不一定最短,但够用。”邵景峰点头,在网格旁边写了“二维网格拓扑”。
林烽蹲在门口,听他俩讨论拓扑,烟叼着没点。“说人话。这玩意儿到底怎么干活?”贺星澜转过身,在白板上画了个大圆,圆里写着“运算模块”。“这是超算的心脏。一百颗芯片,每颗负责一小块计算。一个复杂的大任务,拆成一百个小任务,分给一百颗芯片同时算。算完再合并结果。”林烽说:“这不就是把活分给别人干吗?”邵景峰说:“对。但怎么分、怎么合,是技术活。分不好,有的芯片累死,有的芯片闲死。”
贺星澜在白板上又画了两个方块,一个写着“控制模块”,一个写着“存储模块”。“控制模块负责任务分配。存储模块放数据和结果。三个模块用高速网络连接。”他在三个方块之间画了连线,连成了一个三角形。“控制模块发指令,运算模块执行,存储模块供数据。各干各的,互不干扰。”
邵景峰从书里抽出一张纸,上面画满了流程图。“这是我画的并行算法框架。矩阵乘法,把大矩阵切成一百块,每颗芯片算一小块。算完再拼回去,理论上比单颗芯片快一百倍。”贺星澜看了看那张纸,皱眉头。“理论是理论。实际能快五十倍就不错了。通信开销、同步开销,都要占时间。”邵景峰说:“五十倍也行。原来的计算机算一个弹道要半小时,五十倍就是不到一分钟。导弹飞在天上,一分钟内出结果,够用了。”
林烽听到“导弹”两个字,把烟点着了。“这个超算,主要是给导弹算弹道?”贺星澜说:“不光是导弹。核爆模拟、飞机气动计算、密码破译,都能用。只要算得够快,啥都能算。”林烽吐了口烟。“那就往大了搞。一百颗够不够?要不要两百颗?”邵景峰眼睛一亮:“两百颗更好。但机箱要大一倍,功耗翻倍,散热也更难。”
童泽宇从门口探进头,手里拿着个陶瓷外壳样品。“你们搞超算,芯片封装我有话说。一百颗芯片,每颗都要单独封装。装成一百个独立的芯片,还是把几颗封在一起?”贺星澜说:“单独的。坏了哪颗换哪颗。封在一起,坏一颗全废。”童泽宇点头,缩回去了。
霍凌云也从门口冒出来,手里拿着个硅片。“高纯硅我能供上。一百颗芯片,每颗指甲盖大,一片硅片能切几百颗。但你们要两百颗,我得多烧几炉。”林烽说:“先按一百颗设计。不够再加。加的时候别拆了重来就行。”贺星澜在白板上写“设计余量200颗”。
聂千帆从隔壁跑过来,手里拿着个万用表。“电源呢?一百颗芯片同时跑,功耗起码五百瓦。加上存储、控制、网络,总功耗至少一千瓦。散热怎么搞?”贺星澜挠头。“风冷?加风扇。”聂千帆摇头。“一千瓦的热量,风扇吹不透。得用水冷。铜管通水,芯片贴在铜管上,热量带走。”邵景峰说:“水冷漏了怎么办?”聂千帆说:“漏了换管子。总比烧了强。”
本小章还未完,请点击下一页继续阅读后面精彩内容!