摘要
本文主要讲述分块矩阵的加法运算和乘法运算。将矩阵进行分块操作有很多的好处,特别是在高性能并行计算领域内,矩阵的分块化操作更是有很多益处。
1. 分块矩阵加法运算
给定矩阵A,B分别如下,
矩阵A+B=C,矩阵C如下,
分块矩阵的加法运算非常显然,这里就不再多费笔墨了。
2. 分块矩阵的乘法运算
给定矩阵A,B分别如下,(注意:这里矩阵A,B中的每一个元素都是子矩阵)
矩阵A*B=C,矩阵C如下,
分块矩阵的乘法运算也比较直观,但是相比于其加法运算而言,乘法运算显然会难一点。
3. 分块矩阵运算小结
分块矩阵做的是一个非常显然的事情是对矩阵乘法粒度的变大化。更加细一点而言,一般的矩阵乘法每一次对矩阵中的一个数进行累积和运算。而分块矩阵面向的操作对象是一个个的子矩阵,显然两者在计算的粒度上有很多的不同。至于子矩阵的粒度的大小,取决于一个线程能够用到的内存的大小和其计算能力,每一个线程能用到的内存越大,能用到的计算能力越大相应地,每一个子线程的运算处理能力就越大,子矩阵的粒度也就可以大一些。反之,则子矩阵粒度小些。最后,希望我足够虔诚,也希望读者能在本文中有所收获。