书香阁 > 短篇小说 > 首富从AI浪潮开始最新章节 > 第二百八十八章 你不知道NullPointer是谁?

第二百八十八章 你不知道NullPointer是谁?(1 / 4)

本站新网址 liba2

范小天把这不算太长的代码从头看到尾,又从尾看到头。

然后又从头看到尾。

整整看了半个小时。

说实话,他没看懂。

没看懂不是因为代码写的烂,恰恰相反,是代码写的太优雅了。

优雅的不像是适配层的代码。

适配层的代码有个特点。

它需要追求极致的性能,但这也是有代价的,有时候不得不牺牲可读性。

这和做互联网的程序员不一样,对他们来说,程序的运算效率并不是最重要的,可读性反而更重要。

因为代码终究是写给人看的,一个组里那么多工程师,今天你来写,明天我来写,如果你写的东西别人都看不懂,那就很容易出bug。至于你写的这个程序是不是会快或者慢几十毫秒,相对来说不那么重要。

所以互联网程序的代码往往不需要极致的优化,但是代码规范的要求却很严格。

而硬件适配层的代码就不一样了。

可读性当然也重要,但是硬件的使用效率往往追求极致,几毫秒的效率损耗会在高强度的运行下把成千上万倍的放大,所以里面经常会有各种奇技淫巧的骇客(hack)方法。

所谓骇客方法,是编程里的黑话,指的是那种不太规范,但是好用的方法。

比如说在显卡里,正常应该运行时计算出显存和内核的比例,但是这个数又不会经常变化,运行时计算凭空加了损耗,所以骇客方法就是把这个比例写死在代码里。

虽然这就导致这个代码放到别的硬件上完全没法用,因为比例是写死的,但是能够提高运行效率。

但是刚刚提交的这段代码,里面没有范小天平时看到的各种难以理解的骇客方法。

简单、简洁、优雅,没有任何注释,但是代码本身就能让你看明白它在干什么。

就是这种看得懂反而让范小天看不懂了。

块内重计算的策略他认识,这是fshattention的核心思想之一,用重计算换显存,理论上可以把显存读写量降低到接近理论的最优值。

但问题在于,把这个策略移植到l100上可不是一件容易的事。

因为l100的共享内存布局和英伟达家的卡不一样,英伟达的实现没办法直接搬过来用,必须重新写一套专门适配l100内存架构的版本。

这个版本要怎么

最新小说: 高武:从武科生到星空大帝 大时代1994 从融合基因熔炉开始进化 高塔之上! 要当总统了,你告诉我是纸牌屋? 全职猎人:卡牌大师,世界最强 召唤系?穆宁雪成了我的次元兽? 从魔禁开始跑团诸天无限 腹黑青梅根本藏不住对我的喜欢 在霍格沃兹的中国留学生