由于mpi的开销,是否顺序处理向量加法比并行处理更快?我通过散布两个数组然后在本地为每个从属处理一定数量的向量对然后执行聚集以将所有值发送回主服务器来使用mpi。
答案 0 :(得分:0)
是的,这完全是预期的。向量加法主要是从内存中读取和写入值的成本。添加比从存储器读取/写入一个元素快几个数量级。尝试分散/添加/收集对于提高性能是徒劳的。要从分散/收集中获得性能,您必须对每个数据元素执行非常昂贵的操作,或者多次使用每个数据元素。
在惯用的MPI程序中,矢量应该首先存在于分布式中。
编辑:对于矢量/矩阵乘法也是如此,因为矩阵的每个元素只被访问一次。