Matlabpool core affinity issue
3 次查看(过去 30 天)
显示 更早的评论
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
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
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
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Parallel Computing Fundamentals 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!