gpt4 book ai didi

multithreading - MATLAB:多线程和多核之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:11 24 4
gpt4 key购买 nike

我有一个 i7-M620 处理器,每个内核有 2 个物理内核和 2 个线程(多线程 CPU)(总共 4 个线程)。当我使用MATLAB Parallel Computing Toolbox时,我只能打开2个池而不是4个。代码如下:

matlabpool(2)
parfor i = 1:20
Test(i) = i^2;
end
matlabpool close
  • 有人可以解释为什么吗?
  • 我在这里进行多线程或多核计算吗?
  • 是否可以使用 MATLAB 做到这两点?

最佳答案

我通过编辑并行计算的“本地”配置解决了这个问题(我的核心 i5 有 2 个核心和 4 个线程):

  1. 转到 Parallel->Manage Cluster Profiles
  2. 根据您的 Matlab 版本,您需要在更改任何内容之前验证 本地 配置文件。
  3. 点击 edit 并更改 NumWorkers 变量以满足您的需要。

然后你可以像这样启动matlabpool:

matlabpool local

请注意,我从未使用 parfor 获得加速。 Matlab 的开销总是大于 yield 。我的意思是:首先对您的代码进行基准测试,然后决定 parfor(或其他并行的东西)是否适合您。

关于multithreading - MATLAB:多线程和多核之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10459354/

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