{ LinearAlgebra }

  • COSMA 算法分析

    |

    最近由于业务需要,我对 COSMA (Communication-Optimal S-partitioned Matrix-multiplication Algorithm) 做了一番比较深入的研究。本文简要概括了并行矩阵乘法的发展历史和思路,并分析了 COSMA 算法的思路和实现。

  • 2D Poisson 方程与 Finite Element Method

    |

    上周上 Advanced Scientific Computing 的时候老板讲了 2D Poisson 的有限元法,用的是四边形等参数单元。他布置的作业是写第一类边界条件的求解器。由于我印象中 FEM 用三角网格比较多,因此自己又对照着写了三角形等参数单元的版本,以及把第三类边界条件的情况也做了出来。下面是一点笔记,主要包括计算用到的公式和方法。

  • 代数多重网格(Algebraic Multigrid)简介

    |

    代数多重网格(AMG)是利用几何多重网格(Geometric Multigrid, GMG)的一些重要原则和理念发展起来的不依赖于实际几何网格的多重网格方法。它继承了几何多重网格的主要优点,并且可以被用于更多类型的线性方程组。本文将介绍 Classic AMG 的基本算法并忽略数学推导过程。

  • HPCG 3.0 reference implementation 阅读笔记

    |

    HPCG (High-Performance Conjugate Gradient) 是如今主要的 HPC 系统性能测试基准之一,是一个精简的大型稀疏方程组并行求解器,包含了区域分解(Domain Decomposition)、多重网格(Multigrid)和预条件子(Preconditioner)这些重要的线性方程组求解技术。我在学完 MATH 6644 这门课以及自己动手写了 3D Multigrid 以后,我便一直想看看 HPCG 是如何实现的(虽然我还没学过 DD)。下面的记录是我阅读 HPCG 3.0 官方参考实现的源代码的笔记,源代码参见 GitHub .

  • 泊松方程的中心差分格式与多重网格法

    |

    这个学期上 MATH 6644 接触了多重网格(Multigrid, MG)法,觉得这是一个很有意思的方法。课程作业和期末项目的选项之一就是用 MG 加速泊松方程中心差分格式的求解。虽然我期末项目选了另一个题目,然而我也写了一下这个。这篇东西算是一点小的总结。