MATLAB Answers

physical vs. logical core allocation for Matlab in slurm

2 views (last 30 days)
Evan
Evan on 14 Oct 2014
Edited: Evan on 17 Oct 2014
I'm a user on a slurm cluster which is configured to consider each physical core to have two CPUs for allocation (via hyperthreading). Matlab generates up to one thread per physical core, so would it be appropriate for me to request two CPUs per task/parpool worker, even though I'll only be generating half that number of threads? I think that would be against the cluster policy, but it seems like it would be in my own best interest, and not wasting resources if Matlab is fully loading the cores.

Answers (1)

Siddharth Sundar
Siddharth Sundar on 15 Oct 2014
For optimal performance, I would say that you should have one worker per physical core. Even though you have hyperthreading enabled, the number of physical cores still remains the same (one) while the number of logical cores is now two (in your case). Therefore, there would not be too much of an improvement in performance even if you were to use as many workers as the number of logical cores, because the number of physical cores still remains constant.
  1 Comment
Evan
Evan on 17 Oct 2014
What I'm asking is a little different than what you're answering. Regardless of what I use the threads for (e.g. parpool workers), what I'm asking is how I should make the slurm resource request.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!