天才一秒记住【热天中文网】地址:https://www.rtzw.net
华莱士教授立刻接话,“那你节点之间的数据依赖关系是什么?通信开销怎么评估?有没有做过性能剖析,找到计算瓶颈?”
二十分钟后,林允宁走出了办公室。
他意识到,他和华莱士教授之间,隔着一堵无法逾越的墙。
他眼中的物理世界,在对方眼里,只是一堆数据结构和算法。
对方无法理解他的物理模型,自然也无法给出有效的解决方案。
他只能靠自己。
接下来的几天,林允宁游弋在戈登综合科学中心三楼的会议室和宿舍之间。
他没有再纠结于代码,而是回到了最原始的工具??白板和笔。
他需要解决一个根本性的矛盾:
他的物理理论,是建立在一个连续的,无限维的几何空间上;
而计算机的内存,是离散的,有限的,线性的地址空间。
他要把一个弯曲的宇宙,塞进一个方方正正的盒子里。
布兰登每天早上都会在宿舍门口,给他留一杯煮好的咖啡和一个硬面包圈。
他偶尔回来取东西时,会看到林允宁对着白板发呆,嘴里念叨着“切片”
、“投影”
、“边界条件”
这些他听不懂的词。
他知道,自己的这位室友,又进入了那种“怪胎模式”
。
这天晚上,林允宁看着白板上那张被自己画得乱七八糟的信息流形图,脑中灵光一闪。
他为什么要试图把整个宇宙一次性塞进盒子里?
他可以把它“切”
开。
就像做CT扫描一样,把一个三维的物体,切成几千张二维的薄片,分别处理,最后再拼起来。
他拿起笔,在白板上飞快地写下了一行新的标题:
“几何分区并行算法”
GeometricPartitioningParallelism。
他的思路很简单:既然整个信息流形太大,无法一次性载入内存,那他就用数学方法,把它在虚拟空间中“切割”
成数千个互不重叠的小区域。
然后,利用MPI消息传递接口这种并行计算框架,将这些小区域分发给不同的计算节点,就像把一项大工程分包给几千个施工队。
每个施工队只负责自己那一小块区域的计算,算完之后,再通过MPI的“规约”
Reduce操作,把所有局部结果汇总起来,拼接成最终的全局解。
这个想法,将一个物理学的几何概念,和一个计算机科学的并行编程模型,完美地结合在了一起。
就在他推导这个全新算法的核心??
如何定义“切割”
边界上的信息交换规则时,他桌上的笔记本电脑,发出“叮”
的一声轻响。
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!