MPI-从矩阵列开始计数最大值

| 我有用于在矩阵列中寻找最大值的顺序代码。因为此矩阵甚至可以是5000 x 5000,所以我正在考虑在MPI中加速它。我现在不知道该如何实现,但是我查找了MPI_Scatter函数来从列中分配项目(可能是块映射),并查找MPI_Gather函数来从所有进程中获取最大值(在我的情况下为3个进程),然后进行比较...您认为这可以减少计算时间吗?如果是这样,有人可以给我揭开序幕吗?     
已邀请:
您是否只想找出矩阵中(或矩阵的一部分内)的最大条目? 如果是这样,对您来说,最简单的方法可能是将矩阵拆分为不同的进程,在每个进程分配的部分中搜索最大值,然后使用
MPI_Allreduce
比较它们,该函数可以发送具有以下内容的变量的最大值每个过程中所有过程的值都不同。 无论您是处理整个矩阵还是仅处理一列,当然都可以应用此技术。您只需要考虑将区域划​​分为不同流程的好方法 当然,这只会从一定的矩阵大小开始加速计算。我假设如果您要处理10 x 10的矩阵并将其分为3个进程,则MPI的开销要大于并行化带来的收益。 :)     

要回复问题请先登录注册