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