吴思远的战场没有机油味,只有纸张的霉味和咖啡的酸味。
计算机实验室在地下室,为了恒温恒湿,也为了安全。房间里堆满了打印纸——不是白纸,是带着绿色横线的连续打印纸,一卷一卷像巨大的卫生纸筒。纸上印满了密密麻麻的代码和十六进制数字,那是法国那套旧版EdA软件反编译出来的源码。
八十年代的软件没有友好的图形界面,没有详细的文档。有的只是数十万行用晦涩法语注释的汇编代码和Fortran程序。团队要做的,是像考古学家一样,从这些故纸堆里挖出核心算法,然后理解它、重写它、改进它。
“吴工,又卡住了。”年轻程序员小陈摘下眼镜,用力揉着太阳穴,“这个矩阵求逆的子程序,用了六层嵌套循环,我跟踪了三天,还是没搞懂它的优化逻辑。”
吴思远走到他的终端前。屏幕上闪烁的绿色字符像一片幽暗的森林。那是Vt-220终端,连接着所里那台从美国进口的VAx小型机——幸好是两年前买的,不在最新制裁清单上。
“给我看看。”吴思远拉过一把椅子坐下。
他盯着代码看了十分钟,手指无意识地在桌面上敲击。这是他的思考习惯——把代码想象成空间结构,在脑子里构建三维模型。
“这里,”他指着屏幕上的一个循环,“不是优化问题,是数值稳定性问题。法国人用了经典的Gauss-Jordan消元法,但为了处理病态矩阵,他们加了一个自适应参数调整。你看这行——”
他翻出旁边的手写笔记,上面是他一个月来梳理出的算法脉络图:“参数调整的触发条件是基于矩阵条件数的对数变化率,这个阈值……他们设得太保守了,导致很多正常矩阵也被反复调整,拖慢了速度。”
小陈瞪大眼睛:“您怎么知道的?”
“猜的。”吴思远说,“然后验证了十七次。”
他从抽屉里拿出一叠坐标纸,上面是用铅笔手绘的曲线图:“我写了测试程序,用随机矩阵跑了一千次,记录每次的参数调整时机和最终精度。发现百分之七十的调整是不必要的。如果我们把阈值放宽百分之十五,速度能提升三倍,精度损失小于千分之一。”
小陈接过那叠纸。每一张图都画得极其工整,曲线用不同颜色的铅笔标注,旁边是密密麻麻的计算公式和结论。这是最原始的科研方法——用最笨的力气,啃最硬的骨头。
“那……我们改吗?”小陈问。
“改。”吴思远站起身,“但先别直接动源码。我们写个外挂模块,用新算法跑,和原算法对比结果。如果没问题,再整合进去。”
“这样进度会不会太慢?秦总要的一年……”
“磨刀不误砍柴工。”吴思远看向实验室里其他二十几个埋头苦干的身影,“我们现在每一步都必须扎实。这套软件未来要支撑整个国家的芯片设计,不能有任何隐患。”
他走回自己的工作站。桌上除了终端,还有一块巨大的白板,上面画着整个EdA软件的系统架构图——这是他两个月来的成果。从最底层的图形渲染引擎,到中间的电路仿真器,再到顶层的布局布线工具,每个模块都被拆解、标注、分析。
白板一角写着一行字:“知其然,知其所以然。”
这是秦念在一次会议上的话。她说,引进技术时我们往往只满足于“能用”,但现在必须做到“懂为什么能用”,甚至“知道怎么让它更好用”。
实验室的门开了,陆野走进来,手里拿着一个牛皮纸档案袋。
“老吴,打扰一下。”
吴思远抬起头,看到陆野表情严肃,心里一沉。他示意陆野到隔壁的小会议室。
关上门,陆野把档案袋放在桌上:“加州大学伯克利分校又发来邀请了,这次规格更高——邀请你作为客座教授,参加为期半年的‘集成电路设计方法学’高级研讨班。包食宿,提供实验室,家属可以陪同,孩子可以入读当地学校。”
吴思远没碰那个档案袋:“条件呢?”
“表面没有条件。”陆野说,“但情报显示,这个研讨班的主办方之一,是刚刚取消和我们合作的EdA厂商。他们邀请了全球二十位顶尖专家,你是唯一来自社会主义国家的。
温馨提示:亲爱的读者,为了避免丢失和转马,请勿依赖搜索访问,建议你收藏【笔趣阁】 m.biqug3.com。我们将持续为您更新!
请勿开启浏览器阅读模式,可能将导致章节内容缺失及无法阅读下一章。