gpt4 book ai didi

multithreading - 不能将核心 i7 中的所有 8 个核心用于 matlab

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

当我执行

matlabpool open 4;

一切正常,但是当我尝试执行时

matlabpool open 8;

错误立即发生。我阅读了有关超线程的信息,并且知道 8 个内核中有 4 个是虚拟的。这是否意味着我不能以有效的方式使用所有 8 个内核

parfor loop 

在 Matlab 中?

比如我有8个类似的独立任务。

我可以在 python 或 C#/C++ 中使用所有 8 个内核,加速速度提高 8 倍吗?

最佳答案

默认情况下,MATLAB 使用物理内核的数量而不是计算机上超线程内核的数量,因为超线程最终仍共享相同的物理 CPU 资源。在 MATLAB Answers 上的这篇文章中,有更多关于使用超线程可能/可能没有好处的特定情况的信息。

如果你想使用 8 个 worker ,你需要修改 'local' 配置的 NumWorkers 属性

cluster = parcluster('local');
cluster.NumWorkers = 8;
saveProfile(cluster);

或者,您可以设置与 maxNumCompThreads 一起使用的最大计算线程数

maxNumCompThreads(8)

关于multithreading - 不能将核心 i7 中的所有 8 个核心用于 matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41611447/

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