十几分钟过去了,眼看着快到了下一节课的上课时间。
高院士才对着周围的学生摆了摆手。
“好了,同学们,你们先去上下一节课吧,剩下的问题,你们可以问你们的任课教授。”
大家虽然挺失望的,但也不能不上下一节课呀,只能无奈散开。
高院士走出了阶梯教室。
李东见状也跟了上去。
走廊上,高院士察觉到后面有人跟着,回过头看了看李东。
“同学,”高院士笑着问道。
“你不上课吗?”
李东说道。
“我不是这个班的。”
高院士愣了一下,随即反应了过来。
“元培的?”
李东点了点头。
“哈。”高院士一下子就笑了出来。
他在元培学院那边其实也是有挂课的,但像这种大一刚开学,就不去上自己院系的通识课,直接跑来信科学院的学生,有是有,但确实比较少见。
“走吧。”高院士招了招手,带着李东穿过理科楼的连廊,来到了他在信科学院的独立办公室。
推门进去,高院士在办公桌前坐下,示意李东也坐,随口问道。
“怎么?课上有什么没听懂的地方吗?”
李东摇了摇头。
“都听懂了,您讲得深入浅出,把底层硬件和软件算法的关系剖析得特别透彻。”
高院士听完,忍不住笑了。
这学生挺有趣的啊。
大一新生能听懂多少底层并发?
这小马屁拍得不显山不露水的,情商蛮高的嘛。
而坐在对面的李东,完全不知道自己说了大实话,反而被人当成了高情商。
“那你跟着我来办公室,是想问什么?”
高院士饶有兴趣的看着他。
李东直接问道。
“高老师,我最近在研究关于计算黎曼Zeta函数非平凡零点的底层算法优化。”
“我想在这个多点求值(multiple evaluations)的基础上,进一步优化它的内存分配,尝试把计算规模推到万亿级甚至更高的极高阶区间。”
“但在利用FFT对Zeta函数进行大规模网格展开时,底层内存的调用逻辑我总是处理不好。”
“当网格规模放大到千万级、亿级时,算力冗余太大,经常引起严重的内存碎片化或者缓存未命中。”
李东将自己对《黎曼手稿》嵌套进编程语言的一些遇到的问题说了出来。
“所以怎么才可以在不改变整体数学时间复杂度的情况下,重构C++底层的内存排布方式呢?然后最大限度地迎合CPU的缓存预取机制?”
高院士在听到李东这番话后,放下保温杯。
他特别喜欢这种会自己深度思考的学生。
他仔细想了想刚才李东说的内存分配逻辑,虽然他不能仅仅通过几个问题就完全看透李东那套降维算法。
毕竟他也不是专攻数学的。
但他还是发现了这套框架在硬件调度上的一些弱点。
“你的思路和正常学生很不一样,切入点很偏,但非常有意思。”
高院士拿起一支笔,在纸上画了一个简单的内存分块图。
“既然用了FFT做多点求值,你不能用常规的连续内存分配去想。”
“位反转置换会彻底打断CPU缓存的空间局部性。”
“你得手动做分块处理,把庞大的网格矩阵切分成能完全塞进 L2缓存的小块,在小块内部完成运算后再写回主存。”
高院士耐心的给李东讲解着内存对齐的精髓,句句都是干货。
李东听着高院士的话,【代码直觉】瞬间将这些概念具象化。
“我明白了!谢谢高老师!”
李东是真心的感谢,这就是有名师的好处,他们可能不像李东一样有外挂,但是也没见牛顿他们有外挂呀,可是依然不影响他们的牛逼。
问完核心的学术问题后,李东突然想起了一个很现实的问题。
他的联想电脑到现在都还开不了机,也还没去买新的。
所以他有些不好意思的问道。
“那个……高老师,咱们学校能申请用机房吗?”
高院士正喝着茶,听到这个问题,差点没呛到。
“我们学校的机房都是公用资源,”
高院士有些哭笑不得的解释道。
“你直接拿着你的校园卡去刷卡就能进去用。”
“当然,如果你需要跑超大规模的算力,可以在校园网上用学号申请超算中心的节点。”
李东这才恍然大悟。
高院士看着眼前这个有些迷糊的少年,越发觉得有意思了。
“同学,你叫什么名字?”高院士微笑着问道。
“我叫李东。”
“李东……”高院士点了点头,把这个名字记在了心里。
第100章 破百亿大关
燕大,35栋男寝,404室。
晚上九点四十。
“今天数院许晨教授的那场讲座,真给我听傻了。”
王浩作为拿过CMO金牌的主,他今天居然没有完全听懂。
“不愧是拿过拉马努金奖的长江学者,把双有理几何里的K-稳定性问题讲得明明白白的,还有关于法诺簇极化的那段推导,他到底是怎么想出来的。”
“确实牛逼,感觉自己高中搞的那些数竞就像是在玩泥巴。”
刘强深以为然的点了点头,随即看了一眼时间。
“哎?这都快十点了,李东怎么还没回来?”
陈楠坐在下铺的板凳上调侃道:“你们说……这小子不会一进大学就跑去谈恋爱了吧?”
别以为能考进燕大元培学院的学霸们,就都是些只知道关上寝室门死磕书本的呆子。
毕竟都是十八九岁血气方刚的年轻人,刚脱离了高中的苦海,谁心里还没有点对甜甜的恋爱的向往呢?
刘强推了推眼镜。
“我承认,在颜值这块儿,他确实能稍微压我一头。”
“但这才开学第一天啊!连校园的地形都没摸熟呢,不会这么快就勾搭上学姐了吧?”
就在三人疯狂八卦的时候,“砰”的一声,寝室门被推开了。
李东黑着一张脸,走了进来。
“哟,东哥回来了?怎么这么晚?”王浩看着他的脸色问道。
“这是……搭讪被拒了?”
李东翻了个白眼:“约个屁的会,我从机房刚被赶出来。”
晚吗?李东觉得一点都不晚!甚至觉得时间过得太快了!
今天上午刚从高院士那得到了关于“内存分块”与“缓存命中对齐”的指点后,李东立马就想去优化算法。
但是他自己那台破联想到现在都开不了机,所以就直接杀到了信科学院的公共机房
虽说公共机房里的台式机配置,还达不到他在江城六中借用的那种带有GPU加速的小型服务器集群的级别,但至少比他那个办公用的轻薄本要强得多,勉强能凑合用。
在机房里,他将自己重新理解的算法结合黎曼的降维算法,重新用C++编写了验证非平凡零点的程序。
这一次,他手动将庞大的FFT网格切分成了能完美塞进CPU L2缓存的微小数据块,彻底解决了位反转置换带来的缓存未命中问题。
光是重构这套底层代码,就花了他足足好几个小时。
李东这次没有像在高铁上一样从高阶区域开始。
他为了验算自己的算法,这次他是从头开始加全量验证,要把Zeta函数在这条临界线上的每一个非平凡零点全部揪出来!
李东不知道的是,就算是现在世界上最先进的算法,再动用超算中心的服务器集群,跑到百亿级,也要好几个小时。
他深吸一口气,按下了“Run”键。
程序跑得异常丝滑,没有内存泄漏。
一千万级……五千万级……
一亿级……十亿级……百亿级……
短短的三个小时,这套融合了顶级架构与降维数学思维的神级程序,硬生生在机房的普通电脑上,将每一个非平凡零点精准算出,计数一路狂飙,直接突破了百亿级大关。
李东看着屏幕,正处在构思下一步多线程并发优化的绝对“心流”状态中。
结果……
机房管理员大爷,无情的拍了拍他的肩膀。
“同学,九点半了,机房关门拉闸了啊。”
李东这才回过神来。
不是吧……
这样在即将高潮的时候被打断是很容易那啥的……
而且已经两次了!!
所以,他只能被迫中断了进程,把代码拷进U盘里,回了寝室。
“必须得买台属于自己的高配电脑了!”李东在心里咬牙切齿的想道。
他现在卡里还有三十多万,想买啥不行?
至于高院士说的那种申请学校超算中心节点的事儿,流程太繁琐,而且估计也有严格的机时限制,搞不好还要排队,就被他暂时排除了。
此时,王浩听完李东的话,愣了一下。
“你去机房干嘛?今天下午物院那边是王教授讲的量子场论导论,你没去听呀?”
刘强和陈楠也满脸不解的看着他。
他们以为李东既然喜欢物理,那肯定是去物院那边了呀。
“哦,我去了信科那边,听了高稳院士的《底层算法与高性能计算架构》。”李东随口答道。
寝室里的三人瞬间石化了。
“啊?”王浩诧异道。
上一篇:我家艺人太没上进心了
下一篇:挨打永久加防御,神魔都打不动我