gpt4 book ai didi

performance - Matlab 中 parfor 循环优于 for 循环的具体例子

转载 作者:行者123 更新时间:2023-12-05 08:35:06 26 4
gpt4 key购买 nike

我对 Matlab 中的并行计算还是有些陌生。我在 C 中成功使用了 OpenMP,但在 Matlab 中无法获得更好的性能。

首先,由于我是一所大学的新机器,我通过在命令提示符中键入 ver 验证了我所在的机器是否具有 Parallel Computing Toolbox,它显示: 并行计算工具箱版本 5.2 (R2011b)。注意机器有4核

我尝试了使用 parforfor 的简单示例,但 for 总是赢,尽管这可能是因为开销成本。我正在做一些简单的事情,比如这里的例子:MATLAB parfor is slower than for -- what is wrong?

在尝试将 parfor 应用于我更大更复杂的程序之前(我需要计算一个函数的 500 次评估,每次评估大约需要一分钟,因此并行化在这里会有所帮助),我非常希望看到一个具体的例子parfor 胜过 for。 . OpenMP 的例子很多,但没有找到一个简单的例子,我可以复制和粘贴显示 parforfor

最佳答案

我使用以下代码(每个 Matlab session 一次)来使用 parfor:

pools = matlabpool('size');
cpus = feature('numCores');
if pools ~= (cpus - 1)
if pools > 0
matlabpool('close');
end
matlabpool('open', cpus - 1);
end

这为其他进程留下了 1 个核心。请注意,feature() 命令未记录。

关于performance - Matlab 中 parfor 循环优于 for 循环的具体例子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11934910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com