-3

I have a small question.

The compute node has 2 sockets, with 12 cores per sockets. So it has 24 cores (24 cpus in my case).

When I run a parallel computing, can I use all the cpus? In other words, do we need to spare several cpus for the background programs?

BTW, I think using the cpus on the same chip(same sockets) can avoid the commmunication between sockets, which could speed up the running. So how to determine how many cpus should be used to generate the quickest running?

Any general suggestions on this issue would be appreciated.

Best,

Rilin Shen
  • 13
  • 1
  • Hello, and Welcome to Stack Overflow. As per the site rules: "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on [Super User](https://superuser.com/). " – Davy M Aug 26 '17 at 00:30
  • @DavyM I'm pretty sure Super User will abandon this particular question too. – Captain Giraffe Aug 26 '17 at 00:33
  • The operating system implements timesharing on all the nodes. It will let the background programs run when necessary. – Barmar Aug 26 '17 at 00:38

1 Answers1

0

To answer your question: Yes, you can use all cores for a parallel job or program. Depending on what programs you are to run in the background, you might see some performance drops during the execution of your job/program. The real way to determine the optimal number of cores to use is to execute various runs using different numbers of cores and analyzing the performance of you program and the programs in the background. If you want to take full advantage of all of your cores, I would recommend just running your program with all cores and little to none background programs running.

rmdcoding
  • 31
  • 3