第35章
  “……”汪秘书心里哀叹一声,现在想起保密协议还顶个球用啊!于是摆出一个和蔼鼓励的温柔微笑,“没问题!没问题!白总工是自己人,他想要什么,你们就给什么!一切以尽快解决问题为目标导向哈!”
  ——先不说白架构师专业能力有多惊人,人家可是未来老板娘啊!说不定整个震余集团之后有一半要归人家管呢!简直自己人得再不能自己人了好吧!
  虽然汪秘书不懂技术,但他可太懂人了。
  他不知道白明现在正在怎么解决问题,也不知道具体来说他的专业技术能力有多强;但光看周围一群程序员恨不得把脑袋削尖了、挨着挤进前排看白明操作的肢体动作,光看他们泛着诡异的光的、格外兴奋叹服的眼神,就知道白明理解代码的熟练度跟天赋有多高,表现出来的专业技术简直硬得能砍树!
  “嗯……我谈谈我的想法,不一定十分准确,但至少能提供一种思路。”白明说,“我注意到,你们的总架构师在设计的时候,采用了高度并行化的脉动阵列架构来处理矩阵乘加运算。这当然是一种非常新颖而胆大的尝试,但必须提前考虑到其数据流与控制流的复杂程度远超传统cpu这个问题。”
  “死锁报告指向的是多个处理单元之间的异步fifo缓冲区,所以我怀疑问题不是某个模块、甚至某几个模块的错误,而是整体上的并发缺陷。还要一个证据是,这里的背压信号有问题——看这边,各位觉得是不是?”
  “是是是……”“对啊对啊!”“确实是这样!”
  汪秘书瞠目结舌地看着白明说了一堆他一个字也听不懂的专业术语,随后整个子公司的程序员们都开始频频点头,有甚者翻开电脑开始做起了笔记,显然已经被白明的专业素养所彻底折服。
  “杜工,如果你不介意的话,可以用我自己的电脑开底层编程环境吗?我想拷贝一份编码过来——当然,今天我离开之前会全部删干净,并请汪秘书检查。”
  杜工肃然起敬地说:“不不不……别叫我杜工!叫我杜非就好!小杜也可以!白架构师,您自便即可,您这样的境界不是我等凡人所能企及的……”
  白明从包里掏出电脑,轻轻放在桌面上,闻言失笑道:“杜工太客气了。我只是尝试着做力所能及的事,构想也可能并不成熟。”
  于是,杜非看着这位白架构师嘴上说着“构想不成熟”,手上却一点不闲着,噼里啪啦开始编写模型,输出之果断、逻辑之清晰、速度之惊人,刷新了杜非对于顶尖架构师的认知。
  “杜工,代码。”白明边打字,边提醒道。
  杜非:“哦!”随即立刻愣愣转身,在桌子上一堆硬盘u盘上摸来翻去,总算找到了一个标签都卷边发黄的黑色硬盘,如进贡般小心翼翼地递给白明。
  “那个,白……白架构师,能不能斗胆问一下,您也是做加速的么?”
  “不是。我是做智能导航的。”
  杜非:“啊?啊……我、我不是那个意思,我就是纯震惊,纯震撼!”
  “隔行如隔山嘛,”白明转头微笑了一下,眉宇泛着微微的流光,比其他任何时候都鲜活照人,那笑容简直漂亮得能把人魂都勾出来,“我只能尽力而为——好了,我目前有个大概的想法,现在想请各位听听,试想一下这个解决方案可不可行。”
  作者有话说:
  燕隼:隼形目隼科隼属鸟类。体型矫健的小型猛禽,习性高度特化于空中捕猎。常在高空快速飞行中追捕昆虫和小型鸟类,飞行敏捷迅疾;喜群居繁殖,常利用乌鸦或喜鹊的旧巢产卵,形成松散的繁殖群体;具有明显的迁徙习性,冬季南迁至非洲或东南亚地区越冬。
  白明(写代码):开心,放松,沉浸,有挑战性和成就感。
  杜非(写代码):要死了……要死了……为什么还有bug……要死了……
  第31章 蚁
  二十分钟后。
  办公室内人头攒动, 程序员们交头接耳,汇聚成了一片技术讨论热火朝天的海洋。
  “……这大概是我的思路。”白明说,“鉴于这套模型代码的一号位架构师不在这里, 时间又太紧, 我只能采用这种剑走偏锋、旁门左道的路子。”
  “当然,杜工,还有各位, 你们才是最熟悉这套程序的人,说到底我也只是纸上谈兵而已,解决验证问题的最终方案还是不断地斧正、不断地投入运行、不断地核验。”
  杜非看向白明的眼神简直无法用崇拜来形容了, 汪秘书觉得那两道目光布满了电视剧动漫里布灵布灵的特效, 似乎下一秒就要放起悠扬激昂的bgm。
  “没错,没错。”临时赶鸭子上架的可怜架构师杜工点头如啄米, 随后殷勤恳切道, “那白、白架,我们之后要做什么?”
  “建个群吧,我把监控system模型包发给你们,所有人埋头去模拟,先把问题的根源拎出来, 才能做后面解决问题的下一步。”
  杜非看起来感动得快哭了:“好的好的, 白架我加您一个联系方式, 把您拉进群里……”
  白明也拿出手机,和杜非加了个好友,像是不经意客套一下, 微笑着随口道:“杜工的思路未尝不比我差。只不过主创这套程序的架构师设想比较大胆激进, 但……风格比较含蓄隐晦吧,所以验证起来出问题无可厚非。”
  “唉, 是啊。”杜非这口气在胸膛堵了许久,他一个名无其实的小架构师被滴溜上来硬接烫手山芋,正苦于没处说理,乍然被切中痛处,鼻子唰地一酸,“这套架构之前都是沈总工设计的,我们说是在人家手底下干活,做的都是七零八碎的事儿,从来都没有摸到核心模型,这一上来就让我——”
  不过杜非很快惊觉自己失言,在人大神面前发牢骚其实是很不恰当的,立刻收了声,不好意思地摸了摸鼻子:“害,真是不好意思,让白架见笑了。我们、我们这就去动起来!”
  同行们这才恋恋不舍收回目光,纷纷作鸟兽散。很快房间里响起了噼噼啪啪的键盘敲击声,电脑跑fpga验证设备风扇狂转的滋滋声不绝于耳。
  “汪秘书。”白明示意看得津津有味的汪栋跟他出来,面容素白冷静,漆黑剔透眼珠叫人看不出他的思绪,“借一步说话。”
  “哦,哦!”汪秘书瞬间回魂,“好的,好的!”
  我擦!为什么忽然觉得当领导时的白总工也很吓人啊!
  “那个,您看这问题能不能解决?”汪秘书小心翼翼地问,“或者您还要什么设备吗?当然,如果是出差补贴和聘请调动费的话,我回头立刻给您申请审批,这个完全没有问题!”
  白明摇摇头:“我要说的不是这件事。”
  “啊?”
  “汪秘书,我和你直说了吧。该芯片的原始设计架构师,可能在程序里面故意埋了雷。”
  如一桶冰水从头浇到脚,汪秘书刹那间汗都下来了:“您,您说什么?”
  白明语气很平静:“我用您易于理解的语言描述一下。实际上这个芯片产品,整个顶层架构和细节零件都没有太大问题,就像一座建设完善、设备崭新的工厂,每个工人都正常在岗,每个计算单元运行效率都尚可。”
  “问题在于架构、通俗地将就是生产线的布局问题——因为数据到达各个模块的时间不统一,且当某个工位处理不过来时,发出的背压信号指令在传递过程中产生了混乱,导致前后模块互相等待,最终整个程序卡死停滞,错误飘红,也就是我们刚刚讨论的‘死锁’。这是一个系统性的调度问题,并且有非常明显的人为设计痕迹。”
  如果这话叫杜工等人听见,估计要怀疑自己是不是压根不会编程,以至于非但看不出设计中有“明显的人为痕迹”,连解决人家故意布下的bug都做不到!
  汪秘书脑袋“嗡”的一下就大了,嘴巴张合半天才挤出一句:“那……那怎么办!?”
  “解决眼下的问题,不难。”白明轻描淡写地说,“但我个人非常建议,在送往流片厂投入生产之前,最好再做一次全面完善的验证。”
  他没把话说死,但汪秘书已经完全知道了白明的言下之意。
  ——产品里面既然有这一个问题,说不定还会有其他问题,如同埋藏在代码底下亟待引燃的地雷一样,稍有不慎,就可能导致芯片全盘报废!
  “但、但是,”汪秘书不自觉地被杜非传染了结巴,“时间非常紧,下游公司要求两周内验收芯片,不然我也不会劳烦您过来救燃眉之急……”
  白明缓缓蹙起了眉头,不赞同地摇摇头:“越是急,越会出问题。跟你们霍总好好说,衡量一下:如果要保质保量、避免更大的损失,最好先把基础夯实,把前面的坑都填上,再做下一步的打算。”
  汪秘书一个震余集团的大秘书,在白明面前被教训得跟孙子一样,连连匆忙点头:“好、好,我明白了……”
  “白总工!”杜非的声音从里边传了出来,激动之情溢于言表,“找到了找到了!”