MATLAB如何分配内存,解决大型线性系统(10 m-ish) ?
1视图(30天)
显示旧的评论
亚许Agrawal
2022年10月17日
我试图解决的稀疏线性方程组(Ax = b)与1 - 10的范围的变量数量。固体力学的一个基本的有限元仿真问题,稀疏和对称矩阵(a),矩阵和稀疏的右边(b)。是这样的条目总数的0.01%非零。我使用“\”操作符。
MATLAB可以解决2.3变量问题我个人的笔记本电脑(R2021b、窗户、16 gb的RAM, i7 - 7700 2.8 GHz)在大约6个小时。
我访问(Linux)集群有一个良好的处理器数量,我可以请求任何数量的内存(使用PBS)。然而,当我试着运行相同的代码,使用5 m变量(细孔网),300 GB的内存分配,工作辞职在线性解决方案步骤,内存错误。
我需要知道我做错了什么,和我如何解决这个问题。16 GB 300 GB的,没有关系。有内存设置MATLAB使用Linux和windows的不同吗?我认为MATLAB暂时使用我的硬盘存储数据解决方案过程中,并与Linux可能并非如此。如果是这样的话,我怎么上的开关,设置在我的代码。
我也欢迎建议我可以用不同的连接器或方法来解决这些问题。让我知道如果你们需要其他的信息我,抱歉如果这已经回答了,就告诉我。
谢谢你的时间!
0评论
接受的答案
马特·J
2022年10月17日
编辑:马特·J
2022年10月17日
16条评论
亚许Agrawal
2022年10月17日
据我所知,没有记忆命令在Linux上,但我很确定我在集群上分配300 GB内存我的工作。我如何检查内存分配给Linux中MATLAB ?
旁边,我很感兴趣知道是2.3变量问题解决了我很多劣质的笔记本电脑(16 GB内存),我能在Linux集群复制这些设置。
亚许Agrawal
2022年10月24日
嘿,伙计们,想问一件事沿着相同的路线。我们如何定义在MATLAB矩阵是对称的,只有一个存储它的一半。我遇到过的答案可能是过时的,说这个功能不可用。它是现在有时间吗?
沃尔特·罗伯森
2022年10月24日
我看到回忆有人发布了一个对称矩阵类文件交换。我不认为这是稀疏的。
在密集的情况下(non-sparse)矩阵,然后squareform()这两个表征之间来回转换。然而,几乎没有其他表示的函数处理。
布鲁诺陈德良
2022年10月26日
编辑:布鲁诺陈德良
2022年10月26日
胆固醇似乎只使用上半部分的输入矩阵。
一个=兰德(5)
一个=
5×5
0.6082 0.1098 0.4983 0.2333 0.6290 0.1717 0.0780 0.9934 0.1774 0.1036 0.6496 0.0495 0.1380 0.4528 0.6525 0.9646 0.5738 0.0109 0.0844 0.9123 0.0663 0.7908 0.7017 0.5123 0.6362
一个= triu (“*)
一个=
5×5
1.7563 0.7182 0.6203 0.5818 1.7464 0.9752 0.7001 0.5154 1.1361 0 0 1.7465 0.7153 0.9627 0 0 0 0 0 0 0 2.0692 0.5605 - 0.8634
L =胆固醇(一个)
L =
5×5
1.3252 0.5420 0.4681 0.4390 1.3178 0.8255 0.5408 0.3361 0.5110 0 0 1.1113 0.2952 0.0625 0 0 0 0 0 0 0 0.1186 0.4094 - 0.2312
L’* L
ans =
5×5
1.7563 0.7182 0.6203 0.5818 1.7464 0.7182 0.9752 0.7001 0.5154 1.1361 0.6203 0.7001 1.7465 0.7153 0.9627 0.5818 0.5154 0.7153 0.5605 0.8634 1.7464 1.1361 0.9627 0.8634 2.0692
所以你可能会使用胆固醇或分解与“上层”的论点。然而答不保存在稠密矩阵的所有记忆。如果你matruix稀疏,那么这可能是一个技巧来节省内存。
但随着马特的建议,为稀疏矩阵应该使用迭代法。你可以计划自己的矩阵x向量函数仅使用upper-storage。
布鲁诺陈德良
2022年10月26日
如上我刚写你使用迭代解算器通过传递函数处理,输入x向量提供
斧头:= * x
通过这个计算:
Ax = (x ' * U) + U * x-diag (U)。* x
你在哪里triu答:所以你需要存储U = triu,而不是一个。
更多的答案(0)
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
也seleccionar uno de来说《国家/语言:
科莫obtener el药对rendimiento
Seleccione中国(en语言斜纹棉布裤o单身)对位obtener el药对rendimiento。洛杉矶sitios web de还有《没有范围optimizados对位ser accedidos desde苏ubicacion geografica。