返回第414章 別找错了方向  15岁,成为国宝级天才科学家首页

关灯 护眼     字体:

上一页 目录 下一章

他从来不觉得谁说的话会是绝对准確的,当然也不会要求所有人都无条件相信自己。

只是,他並不觉得付霖说对了。

相比於一台他尚不了解性能底细的机器,他明显更信任自己的脑子。

肖宿在脑海里仔细回溯了一遍整个计算过程,最后,他的视线停在了屏幕上的那张通信拓扑图上。

或许,他已经找到问题的所在了。

他对周伟说:“把谱分解这一步的通信拓扑图调出来。”

周伟点头,低头敲了几个命令,一张节点间通信拓扑图被投到大屏上。

整张图像一团被猫挠过的毛线球,几乎每个节点都在和另外所有节点做数据交换,连线密密麻麻堆叠在一起。

“全对全通信,”肖宿看著那团毛线球,心里確认了自己的判断,“你们的並行分块是按什么分的?”

“按矩阵的行列做二维块划分,標准的scalapack分布策略。”

肖宿摇了摇头。

所以,问题不在於超算架构,而是数据分块方式出现了问题。

商空间降维里的等价类划分有一个被所有人忽略的特性,那就是等价关係本身就带有局部性。

两个样本点在大多数维度上都不需要做全局对比,只有落在同一个局部邻域內的点才需要精確比较。

但是標准的分块方式根本没利用这个特性,把每个节点都当成需要和所有其他节点交换数据来处理,等於白送了一大堆没用的通信开销。

只要按等价类的局部邻域结构做图划分,让通信只发生在图的割边上,数据交换量就能从一个数量级压到另一个数量级了。

肖宿没再多解释什么,他拉过键盘,开始敲起了代码。

先用局部敏感哈希做预分桶,哈希函数用隨机超平面投影,投影方向从数据的主成分方向里隨机採样,保证高概率下近邻点落在同一个桶里。

然后分块策略改用哈希桶的邻接图来做谱图划分,每个子图內的桶分配在同一个节点上,割边数量最小化。

这样需要跨节点通信的就只剩下割边上的边界样本。

周伟看著屏幕上飞速增长的代码,眼睛越瞪越大。

肖宿现在写的这个东西严格来说算不上什么深奥的理论突破,甚至可以说思路出奇的简洁。

可就是这样一个简洁的架构,却让周伟起了一身的鸡皮疙瘩。

局部敏感哈希预分桶、谱图划分、边界通信封装,这三层架构拆开来看,每一块都是现成的算法积木,他们这儿每个人都懂。

可要把它们拼在一起,变成一把专门解决全对全通信瓶颈的手术刀,这种事儿,不是谁都能想到的。

它需要你同时吃透哈希的数学性质、谱图划分的组合优化,还要对超算底层通信逻辑有近乎本能的手感。

大部分人连其中一块都啃不透,更別说三块融在一起,隨手就写出一个能直接上机跑的解决方案。

而肖宿连犹豫都没犹豫一下。

周伟立马就意识到了,这套架构不只能解决商空间降维的通信瓶颈,社交网络的社区发现、分子动力学的近邻列表更新、基因组组装的重叠图构建,任何需要大规模图计算的场景都能直接吃上这个红利。

他几乎可以確定,这套代码一旦跑通,整个中心的通信架构怕是要被重新刷一遍。

『加入书签,方便阅读』

上一页 目录 下一章