简单讲讲 图划分

科技   2024-10-30 22:07   上海  


一篇文章入门“求解器”开发(全篇)


在以上文章中第12点简单介绍了 图划分的 基本原理和方法。现在借助AI搜索引擎和GPT之类的工具,想要学习应用图划分也是比较容易的事。




简单用一个例子来说明图划分的作用。

以求解有限元,有限体积等方法 1亿自由度线性方程组为例:


方程Ax=b中的A为稀疏矩阵,假设稀疏度为0.01%


矩阵存储(CSR格式):

非零元素数值:约800GB (100亿个双精度浮点数)

列索引:约400GB (100亿个整型索引)

行指针:约0.4GB (一亿个整型指针)


向量存储:

解向量:约8GB

右端项:约8GB


计算求解

迭代过程临时向量:约24GB

预条件子存储:约400GB

总计内存需求:约1640GB


在求解过程中,需要进行大量矩阵的乘法和加法运算。


以上规模的数据,一般的服务器都无法求解,唯一可行的方法就是将矩阵数据分解成块,然后丢到不同的节点上计算,然后再合并,再分解,如此往复。


整体核心问题归纳以下几点:

1. 最小化数据接口

2. 保持计算负载均衡

3. 优化通信模式


其中最小化数据接口,简单讲就是将大规模的计算放在相同节点上,让节点和节点之间的数据交换尽可能少。和软件设计中的“低耦合高内聚”原则类似。


如何让一个矩阵能够按照“高内聚低耦合”以及均匀的原则进行分割,就是图划分做的事情。

矩阵对应图结构

1. 矩阵行/列   对应  图节点

2. 非零元素  对应 图边

3. 元素值 对应 边权重


图划分在神经网络计算,交通规划,图像处理,数据库,社交媒体算法 等领域有很多应用,求解线性方程组是图划分的一个细分应用领域


多物理场仿真技术
可能是国内最专业,最有深度的 CAD CAE EDA CAM TCAD CFD AI等工业软件研发技术介绍和工业软件资讯分析
 最新文章