maxnum matlab,MATLAB:控制数字核心/线程

博主在尝试限制MATLAB在具有32个内核的Linux机器上仅使用10个内核时遇到困扰。maxNumCompThreads函数在MATLAB2016a上似乎无效,而parpool的使用也因物理内核限制导致问题。尝试parpool(10)时出现错误。问题在于如何正确配置MATLAB以限制使用特定数量的内核。
摘要由CSDN通过智能技术生成

假设我有一个程序要在具有32个内核(64个线程)的

linux机器上运行,其中我只允许使用10个内核(20个线程).所以我想在运行程序之前指定它.

我用google搜索并发现了maxNumCompThreads,但是当我在一台装有MATLAB 2016a,核心i5(2核,4线程)的机器上测试时,它似乎无法工作.也就是说,当我执行以下任何操作时,我得到相同的功能输出(‘numCores’)

maxNumCompThreads(1)

maxNumCompThreads(2)

maxNumCompThreads(4)

maxNumCompThreads('Automatic')

然后我尝试了parpool(每次我用delete删除当前的parpool会话(gcp(‘nocreate’))).运行parpool(4)时出错(我想我理解为什么:parpool占用内核数量,自动启用超线程,测试机器只有2个物理内核).所以我测试了parpool(1)和parpool(2).同样,功能的输出(‘numCores’)没有改变.

问题:对于上述第一段所述情况,工作的正确工具是什么?功能(‘numCores’)是正确的监控工具,以查看相应的规范是否有效?

我一直参考的相同功能(‘numCores’)输出是:

MATLAB detected: 2 physical cores.

MATLAB detected: 4 logical cores.

MATLAB was assigned: 4 logical cores by the OS.

MATLAB is using: 2 logical cores.

MATLAB is not using all logical cores because hyper-threading is enabled.

编辑:当我在linux机器上运行parpool(10)时,我收到以下错误

Starting parallel pool (parpool) using the 'local' profile ... Error using parpo ol (line 103)

Couldn't interpret output from psname.sh: ""

Error in parpool_test_2016_10_03 (line 3)

parpool(10);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值