Matlab:使用 parallel_function 时出错:内存不足
Matlab: Error using parallel_function: Out of Memory
我在 Windows 7 64 位、Core i7 CPU 和 8 GB RAM 上使用 Matlab R2011b 版本。我是 运行 近似最近邻算法,称为使用 Matlabpool
的局部敏感散列。启动 Matlab 池后,我得到输出
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
当控件到达for循环时,Matlab抛出errro
Error using parallel_function (line 598)
Out of memory. Type HELP MEMORY for your options.
Error stack:
remoteParallelFunction.m at 29
Error in Evaluate (line 19)
parfor i=1:query_num
我不知道如何解决这个问题。请帮忙。谢谢
那是因为 parfor
需要更多内存。
parfor
循环中的所有 workers/labs 都是独立的,因此每个循环都需要自己的内存量。此外,由于池必须传播和收集数据 from/to 工作人员。
尝试使用常规 for
或打开一个有 2 个工人而不是 4 个工人的游泳池。
此外,这取决于您的 some_function()
的优化程度:尝试使用尽可能少的变量。
我在 Windows 7 64 位、Core i7 CPU 和 8 GB RAM 上使用 Matlab R2011b 版本。我是 运行 近似最近邻算法,称为使用 Matlabpool
的局部敏感散列。启动 Matlab 池后,我得到输出
Starting matlabpool using the 'local' configuration ... connected to 4 labs.
当控件到达for循环时,Matlab抛出errro
Error using parallel_function (line 598)
Out of memory. Type HELP MEMORY for your options.
Error stack:
remoteParallelFunction.m at 29
Error in Evaluate (line 19)
parfor i=1:query_num
我不知道如何解决这个问题。请帮忙。谢谢
那是因为 parfor
需要更多内存。
parfor
循环中的所有 workers/labs 都是独立的,因此每个循环都需要自己的内存量。此外,由于池必须传播和收集数据 from/to 工作人员。
尝试使用常规 for
或打开一个有 2 个工人而不是 4 个工人的游泳池。
此外,这取决于您的 some_function()
的优化程度:尝试使用尽可能少的变量。