有没有办法可以增加matlab可用的内存?

时间:2012-10-09 22:15:02

标签: matlab memory

  

可能重复:
  matlab error “Out of memory”

我正在尝试在matlab中对接近10000 * 300 * 100的巨大张量进行张量分解。但是我的内存不足以存储张量,更不用说计算分解了。有没有办法可以指示matlab在内存不足时给我更多内存?

我有4 GB的RAM。因此原则上应该可以为张量获得2.4 GB(假设张量的每个元素占用8个字节)。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

(假设您确实需要这个大小的密集阵列......)一种方法可能是使用distributed arrays(PCT)中的Parallel Computing Toolbox。这使您可以将单个阵列分布在多台计算机的RAM中。您还需要与您需要的工作人员一样多的MATLAB Distributed Computing Server许可证。

并非所有函数都可用于分布式数组,但实现了大量核心算术和线性代数函数 - list here

答案 1 :(得分:0)

如果没有足够的RAM,你可以在核心外进行一些计算,在磁盘上分配数据。看看VVAR fileexchange project。我没有使用它,但描述可能适合您的需要。创建的数组可以以普通的matlab方式使用,并在需要时无缝保存到HDD中。