第106章 专题报告(9 / 11)

投票推荐 加入书签 留言反馈

  而现在。
  陈启明这个来自现实世界的系统工程师,敏锐地把这些问题,正式地摆到了他的桌面上。
  “陈老师的意思是想借用我这套mps的搜索框架,去穷举搜索这些微小的代码程序的最优解?”江临直接问道。
  “我不確定。”
  陈启明坦诚地摇了摇头。
  “这无疑是一个很疯狂的想法,所以我今天特意留下来,就是想请你亲自判断一下。这类程序的搜索问题,和你为了江氏砖处理的有限状態铺砌搜索之间,在底层的数学结构上,有没有哪怕一丝一毫的相似性?”
  江临再次看了看屏幕上的函数名,大脑迅速开始抽象这些代码的本质。
  “陈老师,这些函数的输入空间是有限的,对吧?”
  “很多是有限的。”
  陈启明立刻回答。
  “比如固定长度的微小排序,只有五个、六个或者八个元素。理论上,它的输入状態空间是可以被暴力的全排列完全覆盖验证的。或者,我们更高级一点,可以用可满足性模理论求解器,去进行严格的逻辑等价证明。”
  “那么性能呢?性能的优劣,能否准確地进行实测和打分?”江临继续追问。
  “完全可以,我们有成熟的基线,有严苛的压测脚本。我们甚至能抓取不同cpu上的perf计数。”
  陈启明说到这里嘆了口气,很无奈的说道。
  “现在的问题是,对於这些核心代码,人工优化的红利已经被我们这帮老骨头压榨到了极致。再想往下抠出一纳秒的性能,光凭脆弱的人眼和可怜的脑力去排列组合汇编指令,已是极难系统地推进。”
  江临不假思索的补充道:“陈老师,你很清楚,如果由暴力的机器搜索框架输出的某段候选代码,哪怕它在测试集上跑得再快,只要它无法在数学上被严格地证明其正確性,那这种代码,在重要的工业级系统里,是绝对不能用的。”
  “对,就是这样。如果你给我一段极快,但偶尔会出错的巫术代码,我的確是不敢把它合进主干。”
  陈启明一副遇到了知己般慨嘆道。
  “这也是我今天为什么不去找搞ai启发式搜索,而一定要找你聊的根本原因,我们需要的是百分之百的数学正確。”
  陈启明一边说,一边操作滑鼠,把桌面上一个不起眼的压缩包文件,拖到屏幕中央。
  microkernel_rank_sort_baseline.zip
  (微內核_秩_排序_基线.zip)
  “这里面是我们团队整理出来的一组最小问题集。”陈启明郑重地指著那个压缩包说,“包括基础的rank5、sort5,以及 top3-of-8。原始的基线实现代码、测试验证脚本,以及部分的性能benchmark数据,全都在里面。”
  陈启明看著江临,语气诚恳得甚至带上了些许恳求。
  “江临同学,能不能麻烦你把这个压缩包带回去,隨便花点时间看一眼。如果你觉得不合適,或者结构上根本无法迁移,那你就当我今天冒昧地问了一个浪费你时间的外行问题。”
  江临看著屏幕上那个压缩包,沉吟道:“陈老师,我可以確认,这不是外行问题。”
  听到这句话,陈启明紧绷的肩膀轻微地鬆了一下,有些眼巴巴地看著江临,一副静候佳音的期待模样。
  江临见状,也不吝嗇於进行深度的跨界结构剖析。
  “在庞大的江氏砖问题里,我开发的mps框架,暴力搜索的目標,是那些晦涩的局部几何铺砌状態。而在你这里,它要搜索的目標,变成了底层的机器指令的程序状態。”
  “一个极具潜力的候选几何铺法,必须排除所有的拓扑逃逸路径才能存活。一个候选微內核代码,必须排除所有极端的错误输入用例才能被採用。” ↑返回顶部↑

章节目录