Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
37 Views

Is there any difference between running an MPI program on Intel Xeon and Core i7 processors?

Jump to solution

Dear Collegues, I've got a question: Is there basically any difference between running an MPI program on Intel Xeon and Core i7 processors?

I heard that since an MPI program is running on Intel Xeon processor, then it's executed in a different way. For example, if you run an MPI program on Intel Xeon processor, then all processes has been launched by mpiexec utility are executed in the order of their ranks e.g. 0,1,2,3,4,5,6,7,... and if you run the program on Intel Core i7 processor, then those processes executed in arbitrary order.

Waiting for your reply.

Cheers, Arthur.

 

@arthurratz
0 Kudos

Accepted Solutions
Highlighted
37 Views

Hi Arthur,

I'd like to 2nd Kittur's comments.  There are no difference in how we treat initial process placement on any Intel architecture.  We generally try to start some number of ranks simultaneously so the first machine we connect to is the first one where we place the first set of ranks.

If you really want to be very specific about where the ranks are located, you can use the -host or -machinefile options for Intel MPI.

If you have any questions about those, let me know.

~Gergana

gss

View solution in original post

0 Kudos
16 Replies
Highlighted
Employee
37 Views

Hi Arthur,
I am not aware of any difference in the launching of the processes per-se with reference to the processor. I'll double check that with the MPI team as well and let you know.
_Kittur

0 Kudos
Highlighted
37 Views

Thanks, Kittur. I'll be waiting for your reply.

@arthurratz
0 Kudos
Highlighted
Employee
37 Views

Hi Arthur,
I discussed with the MPI team and they said generally it should not make a difference but sometimes their could be a different scheme (internal) depending on the context.  But, the user can use some runtime options. 

Also, for MPI related questions it's best for you to post your questions in the Intel Clusters and HPC Technology forum where you'll get those issues resolved by support folks specialized in MPI. 

So, I"ll transfer your issue to that forum and someone will respond to you accordingly and I'll let them know as well.

_Kittur

0 Kudos
Highlighted
38 Views

Hi Arthur,

I'd like to 2nd Kittur's comments.  There are no difference in how we treat initial process placement on any Intel architecture.  We generally try to start some number of ranks simultaneously so the first machine we connect to is the first one where we place the first set of ranks.

If you really want to be very specific about where the ranks are located, you can use the -host or -machinefile options for Intel MPI.

If you have any questions about those, let me know.

~Gergana

gss

View solution in original post

0 Kudos
Highlighted
37 Views

Thanks Collegues for your replies.

@arthurratz
0 Kudos
Highlighted
37 Views

Obviously that the ordered rank execution is actually a process synchronization problem which can persist regardless of what CPU you're running your program on.

@arthurratz
0 Kudos
Highlighted
37 Views

And one more question, which processor Intel Core i7 or Intel Xeon is more efficient to execute MPI programs ?

@arthurratz
0 Kudos
Highlighted
37 Views

Of course, Intel Xeon is the most preferable server CPUs to execute MPI and OpenMP programs.

@arthurratz
0 Kudos
Highlighted
37 Views

Intel Xeon processor has over 40MB of last level cache that allows to optimize the performance of any MPI or OpenMP program

@arthurratz
0 Kudos
Highlighted
37 Views

The most of today's computational clusters are built based on using Intel Xeon processors.

@arthurratz
0 Kudos
Highlighted
37 Views

You can statically assign ranks by using mpiexec runtime options such as mpiexec -binding -prepend-rank -ordered-output -np 4 ./a.out

@arthurratz
0 Kudos
Highlighted
37 Views

mpiexec -binding -prepend-rank -ordered-output -np 4 ./a.out works regardless of what particular CPU you execute your MPI program on.

@arthurratz
0 Kudos
Highlighted
37 Views

Intel Xeon processors are used solely to optimize performance of computational cluster.

@arthurratz
0 Kudos
Highlighted
37 Views

And it's true that there's actually no difference what particular processor to use to execute a certain mpi process.

@arthurratz
0 Kudos
Highlighted
37 Views

A typically large amount of last level cache provides the best performance compared to Intel Core i7 processors.

@arthurratz
0 Kudos
Highlighted
37 Views

By default, the processes should be executed in an arbitrary order, there's no need to map them to specific processors.

@arthurratz
0 Kudos