我正在尝试在 matlab 中并行解决许多不同的线性系统。问题是,每个线性系统都有完全不同的部分并且相当大,因此将信息传递给每个工作人员所花费的时间比正常解决每个工作人员所花费的时间要长得多。
我当前的设置非常粗糙,我预先计算每个矩阵、右侧和预条件器的单元格,然后使用 GMRES 求解。我还使用函数句柄来评估预处理器反解。
本质上
parfor i=1:N
X{i} = gmres(A{i}, b{i}, maxit, tol, @(x) mfun(x,M{i}))
end
矩阵都是稀疏的,内存不是问题。我应该如何加快速度?