Matlabpool core affinity issue
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentario
Edric Ellis
el 24 de Feb. de 2014
This is not expected - I don't see this on my Win7 machine here. Are you setting the affinity for the desktop MATLAB process?
Respuestas (1)
Vishal_R
el 3 de Jul. de 2014
Editada: Vishal_R
el 3 de Jul. de 2014
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 comentario
Prasad Kalane
el 12 de Jul. de 2014
Editada: Prasad Kalane
el 12 de Jul. de 2014
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.
Ver también
Categorías
Más información sobre Parallel Computing Fundamentals en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!