如遇到章节错误,请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,稍后尝试刷新。

周的拉过一块空白的白板,“线性代数学过吧?”

“学过。”

周昀拿起白板笔,在板面上画了两个大方块,分別標上a和b。

“假设现在有两个巨大的矩阵a和b,我们要计算它们的乘积c,这是最基础的计算,但直接按教科书上的三重循环做,效率会非常低,尤其是在gpu这类並行处理器上,所以我们在gpu上做矩阵乘法的时候,需要把大矩阵拆成小块也就是一个个ties,让硬体並行计算,但tiles怎么切分,决定了计算速度和內存效率。

假如把它抽象成一个数学问题,假设a是mxk矩阵,b是kxn矩阵,c是mxn矩阵,我们要计算c=axb,就要选择一个tile用来分块计算,那么问题来了,我们该如何选择这个tile的大小?也就是这三个参数一一”他在白板上写下(t_m,t_n,t_k)。

“这本质上是一个优化问题,我们需要一个衡量標准,这里引入一个概念:算术强度。”

他在白板上写下公式:ai=(计算量flops)/(內存访问量bytes)。

“计算量很好理解,对於矩阵乘,每个tile的计算量大约是2xt_mxt_nxt_k次浮点运算。

內存访问量,粗略估计,我们需要將这三个小块读进来,所以大约是(t_mxt_k+t_kxt_n

+t mxtn)x sizeof(float)字节。

ai越高,意味著我们每从內存搬运一个字节的数据,能完成的计算就越多,我们就越接近处理器理论算力的上限,所以,我们的优化目標,简单说就是在硬体限制下,最大化这个ai。”

这个问题看上去没什么用,实际上意义巨大,如果有了一种最佳的切割方案,就能得到一张“调优表”或缓存,每一种矩阵大小都能对应一种tie配置。

这个表可以直接被编译器调用,生成最高效率的矩阵乘法內核。

这个內核通过一定的处理可以运行在不同的矩阵单元中,比如nvidia的tensorcore,amd的mfma,intei的xmx,这些矩阵单元单从硬体上看其实差距並不大,真正能让cuda一家独大的,是其对硬体的利用率,如果周昀能开发出一个高效的算子库,並且通过编译器运行在不同內核上,就能一定程度打破cuda的垄断,而矩阵运算的ti1e分割,就是他迈出的第一步,不过他自己最近的心思都放在教师智能体上,这方面打算先让陈默自己试试看,按他的估计,这个问题,陈默花点时间应该可以做的出来。

这个工作如果做出来,发一篇顶会没什么问题的。

写完这些,周昀放下笔,转过身看著陈默:“你的第一个课题,就是深入研究这个问题,怎么样?有信心吗?”

“这个.....”陈默看著黑板上的公式,“我试试!“

“大胆尝试就好,这是个很难的问题,你不必有压力,把它当作一个长期项目来尝试,我们实验室不会强制要求你发多少论文,只要你的工作是有意义的,我都看在眼里,遇到问题,先自己思考,如果卡壳了,隨时可以来问我,自己选个位置,然后到一楼104去找一下后勤的赵老师,让他帮你把门禁录一下,再把你的银行卡號学號发给我,以后你的劳务费就从这上面走。”

“好!那我收拾一下东西就搬过来?”

“这都隨你。”

实验室有了新人加入,周昀也按照承诺,让郑涛又採购了一台5090满配的电脑,外设,屏幕也全都配好。

陈默的动作也很快,下午的时候就收拾好东西搬了过来,他们大三课本来就不多,有大把的时间可以泡在实验室里。

本章未完,点击下一页继续阅读。

www.74txts.com
玄幻魔法小说相关阅读More+

推演,道成元始

佚名

清冷直男,被疯批皇帝强制爱了

佚名

天幕宝可梦:曝光小智弒神救世!

佚名

穿越菩提老祖,西游第一劫难

佚名

我有了透视眼之后,运气好到爆

佚名

开局青云宗主,召唤大帝境老祖

佚名