错误的原因是什么”阶段22 CPARDISO遇到一个错误:错误代码= 2。”?

1视图(30天)
我试图解决大型稀疏矩阵方程Ax = b。在700000 * 700000,和b是700000 * 500。我用分布式阵列来解决这个问题。
parpool (12);
广告=分布式(A);
bd =分布式(b);
xd = \ bd广告;
但当它跑线的“xd =广告\ bd;”。它给了一个错误
错误使用\(53)行
内部误差在稀疏分布式解决:CPARDISO
遇到一个错误在阶段22:错误代码= 2。
错误在分布式/ wrapRemoteCall > iInnerWrapper(第83行)
[varargout {}): = fcnH(变长度输入宗量{:});
错误在spmd_feval_fcn > get_f /身体(第78行)
[outCell {}): = fcnH (inCell {:});
为什么会这样?我有在网上搜索但找不到线索。当b“薄”,这是700000 * 50。代码运行得很好。这是一个空间的内存的问题吗?我想是这样。但在这样RAM是充分的多少?任何建议,我们将不胜感激。

接受的答案

奥利天梭
奥利天梭 2020年8月13日
你的猜测是正确的,你得到了这个错误,因为当地没有足够的可用内存。一些临时的解决方法是:
  • 增加工人使用更多的物理机器的数量,这是不打算如果你使用“本地”parpool工作
  • 分裂b片和解决片各一次。在这种情况下,我强烈建议使用分解object和做一些类似:
十=分解(广告);
我= 1:nSlices
%得到bdSlicei,例如从文件中加载它
xdSlicei =十\ bdSlicei;
% xdSlicei使用,例如将其保存到一个文件中
结束
问题“多少RAM足够吗?”很难回答一个先天的。稀疏矩阵“\”基本上是将你的矩阵分解为一个产品L * U L和三角,但通常这些矩阵密度比A。这就是为什么你很可能能够存储一个但不是L和美国稀疏丢失的数量取决于和发现的模式分解。在实践中,它非常依赖问题,不幸的是…

更多的答案(0)

类别

找到更多的在并行计算原理帮助中心文件交换

下载188bet金宝搏


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!