
MPI
xll_bit
这个作者很懒,什么都没留下…
展开
-
【MPI】Connon矩阵乘(二)
Connon矩阵乘是通过循环移位,通过相邻节点上的数据进行交换,然后最终实现矩阵乘法。特点是每个节点占用空间比较少,传输比较少。本篇以MPI_Comm_cart为循环移位基础。以下为具体做法。以MPI_Comm_split循环移位为基础的请参考:https://blog.youkuaiyun.com/xll_bit/article/details/103113272MPI_Comm_split移位...原创 2019-11-17 22:09:59 · 371 阅读 · 0 评论 -
【MPI】Connon矩阵乘(一)
Connon矩阵乘是通过循环移位,通过相邻节点上的数据进行交换,然后最终实现矩阵乘法。特点是每个节点占用空间比较少,传输比较少。本篇以MPI_Comm_split为循环移位基础。以下为具体做法。以MPI_Comm_cart循环移位为基础的请参考:https://blog.youkuaiyun.com/xll_bit/article/details/103114386MPI_Type_vector和...原创 2019-11-17 21:21:43 · 506 阅读 · 0 评论 -
【MPI】当MPI_Scatterv遇上MPI_Type_vector
在写按块矩阵乘时,会遇到将矩阵按块划分,然后分发给各个节点。此时方便的做法是定义MPI_Type_vector数据类型,表示矩阵的一小块,然后通过MPI_Scatter将矩阵散发到各个节点。但通过简单的MPI_Scatter进行操作时,一直出现错误,最终发现是我把MPI_Scatter想的太简单了。原做法://row_block_data为每块的行数(分块矩阵行列数相同)//N代表原始...原创 2019-11-17 20:41:37 · 930 阅读 · 0 评论 -
【MPI】 创建新组并使用组通信
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0(0,1,2,3) 1(0,1,2,3) 2(0,1,2,3) 3(0,1,2,3) 4(4,5,6,7) 5(4,5,6,7) 6 7 8 9 10 11 12(12...原创 2019-11-15 20:53:54 · 2305 阅读 · 0 评论 -
【FORTRAN+MPI】二维笛卡尔坐标应用(虚拟拓扑)
当进行矩阵乘法时,往往需要将节点映射为二维网格,就会用到笛卡尔坐标。本文展示了基于Fortran的MPI_CART的用法,以及相邻坐标之间的通信。 program cartesian include 'mpif.h' integer SIZE, UP, DOWN, LEFT, RIGHT parameter(SIZE=16) ...原创 2019-11-13 12:23:13 · 1641 阅读 · 0 评论