Matlabpool core affinity issue

3 次查看(过去 30 天)
Gordon
Gordon 2014-2-21
I'm running the parallel computing toolbox on a Windows7 machine with 6 physical cores (12 logical with hyperthreading). When I start a parpool requesting 6 workers, all 6 are set with an affinity for only CPU0, so all 6 workers end up fighting for the same core.
Has anyone seen this before or have a suggestion on how to fix it? Is it a MATLAB or Windows problem?
  1 个评论
Edric Ellis
Edric Ellis 2014-2-24
This is not expected - I don't see this on my Win7 machine here. Are you setting the affinity for the desktop MATLAB process?

请先登录,再进行评论。

回答(1 个)

Vishal_R
Vishal_R 2014-7-3
编辑:Vishal_R 2014-7-3
When you run “parpool()” then it will create number of workers which are equal to the number of cores on your machine. The behavior which you are experiencing is very unusual.
I would suggest you to setting your number of workers in local by going Cluster profile Manager and run the “parpool()” command again.
Run this command to check how many cores MATLAB is identifying, >> feature('numCores')
When I tried to run this command on my machine, I got below mentioned output.
MATLAB detected: 6 physical cores.
MATLAB detected: 12 logical cores.
MATLAB was assigned: 12 logical cores by the OS.
MATLAB is using: 6 logical cores.
MATLAB is not using all logical cores because hyper-threading is enabled.
  1 个评论
Prasad Kalane
Prasad Kalane 2014-7-12
编辑:Prasad Kalane 2014-7-12
Edric sir is right. If one of the thread is inefficient in allocating the task to the core, then the core may exhibit some "down time", & Second thread take advantage of this "down time" to do some work.
or change Cluster profile Manager setting.
yet not then ask for MathWorks Support

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Parallel Computing Fundamentals 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by