第99章 工程院院士,高稳(2/2)

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

【畅读更新加载慢,有广告,章节不完整,请退出畅读后阅读!】

r />


    「同学,」高院士笑着问道。



    「你不上课吗?」



    李东说道。



    「我不是这个班的。」



    高院士愣了一下,随即反应了过来。



    「元培的?」



    李东点了点头。



    「哈。」高院士一下子就笑了出来。



    他在元培学院那边其实也是有挂课的,但像这种大一刚开学,就不去上自己院系的通识课,直接跑来信科学院的学生,有是有,但确实比较少见。



    「走吧。」高院士招了招手,带着李东穿过理科楼的连廊,来到了他在信科学院的独立办公室。



    推门进去,高院士在办公桌前坐下,示意李东也坐,随口问道。



    「怎麽?课上有什麽没听懂的地方吗?」



    李东摇了摇头。



    「都听懂了,您讲得深入浅出,把底层硬体和软体算法的关系剖析得特别透彻。」



    高院士听完,忍不住笑了。



    这学生挺有趣的啊。



    大一新生能听懂多少底层并发?



    这小马屁拍得不显山不露水的,情商蛮高的嘛。



    而坐在对面的李东,完全不知道自己说了大实话,反而被人当成了高情商。



    「那你跟着我来办公室,是想问什麽?」



    高院士饶有兴趣的看着他。



    李东直接问道。



    「高老师,我最近在研究关於计算黎曼Zeta函数非平凡零点的底层算法优化。」



    「我想在这个多点求值(multipleevaluations)的基础上,进一步优化它的内存分配,尝试把计算规模推到万亿级甚至更高的极高阶区间。」



    「但在利用FFT对Zeta函数进行大规模网格展开时,底层内存的调用逻辑我总是处理不好。」



    「当网格规模放大到千万级、亿级时,算力冗余太大,经常引起严重的内存碎片化或者缓存未命中。」



    李东将自己对《黎曼手稿》嵌套进程式语言的一些遇到的问题说了出来。



    「所以怎麽才可以在不改变整体数学时间复杂度的情况下,重构C++底层的内存排布方式呢?然後最大限度地迎合CPU的缓存预取机制?」



    高院士在听到李东这番话後,放下保温杯。



    他特别喜欢这种会自己深度思考的学生。



    他仔细想了想刚才李东说的内存分配逻辑,虽然他不能仅仅通过几个问题就完全看透李东那套降维算法。



    毕竟他也不是专攻数学的。



    但他还是发现了这套框架在硬体调度上的一些弱点。



    「你的思路和正常学生很不一样,切入点很偏,但非常有意思。」



    高院士拿起一支笔,在纸上画了一个简单的内存分块图。



    「既然用了FFT做多点求值,你不能用常规的连续内存分配去想。」



    「位反转置换会彻底打断CPU缓存的空间局部性。」



    「你得手动做分块处理,把庞大的网格矩阵切分成能完全塞进L2缓存的小块,在小块内部完成运算後再写回主存。」



    高院士耐心的给李东讲解着内存对齐的精髓,句句都是乾货。



    李东听着高院士的话,【代码直觉】瞬间将这些概念具象化。



    「我明白了!谢谢高老师!」



    李东是真心的感谢,这就是有名师的好处,他们可能不像李东一样有外挂,但是也没见牛顿他们有外挂呀,可是依然不影响他们的牛逼。



    问完核心的学术问题後,李东突然想起了一个很现实的问题。



    他的联想电脑到现在都还开不了机,也还没去买新的。



    所以他有些不好意思的问道。



    「那个????高老师,咱们学校能申请用机房吗?」



    高院士正喝着茶,听到这个问题,差点没呛到。



    「我们学校的机房都是公用资源,」



    高院士有些哭笑不得的解释道。



    「你直接拿着你的校园卡去刷卡就能进去用。」



    「当然,如果你需要跑超大规模的算力,可以在校园网上用学号申请超算中心的节点。」



    李东这才恍然大悟。



    高院士看着眼前这个有些迷糊的少年,越发觉得有意思了。



    「同学,你叫什麽名字?」高院士微笑着问道。



    「我叫李东。」



    「李东????」高院士点了点头,把这个名字记在了心里。



    

章节目录