Artur Tyliszczak wrote:
> Dear All,
>
> We have 8 dual cores Opterons 8214HE cluster (total: 32 cores).
> If I run a job using mpirun (mpirun -np 4 ./jobname) how can I know
> whether my job is running on 2 physical processors (4 cores) or
> separate 4 processors (also 4 cores but from different processors)?
>
> Is is there any way to chose one of the above option by some mpirun options?
> What is more efficient: 2 cores on 2 processors OR 4 cores on 4 separate
> processors?
>
You don't give enough information to answer, and perhaps I'm not
guessing entirely what you are asking. You could, of course, go to each
node while your job is running, to see how many processes are running
there. lam mpi provides a facility to control how many processes you
assign to each node. Within each node, you would require an affinity
specification, as by using taskset, to assure an efficient placement of
processes.
If your application doesn't spend much time in message passing, it would
likely run faster with 1 process per socket, but in most cases that is
not an efficient way to use a cluster. OTOH, lam, with observance of
the -O option or proper build options for shared memory messaging, will
use shared memory effectively for message passing within each node.
|