正如其他帖子中所讨论的,我理解一些函数在Matlab中并行化,因此它们在串行计算中很快(如normxcorr2
使用FFT函数和conv2
)。
我使用了这段代码
parfor( i=1:1000,20) % To do calculations on 20 cores only
y1= function_1(image1, template,....)
. % other lines
.
.
end
如果在function_1
里面我有FFT函数(如conv2
fft2
等),我会为此计算分配剩余核心
function y= function_1(image1,template,...)
parfor( i=1:41,24) % I allocated 24 cores to the child function
t=template{i};
correlation{i}=normxcorr2(image1,t),
%etc
end
%etc
end
为什么当我打开任务管理器时,在#34;性能"使用的内存百分比仅为40%?
我认为当我拥有44个核心并且我将20分配给全局计算而24分配给内部函数时,它将占用99%的内存。
提前谢谢!