Intel Xeon Phi openMPI compatible?

diego.peinado's picture
Submitted by diego.peinado on Thu, 02/26/2015 - 14:58

Hello,

Sorry for the offtopic, but you developers probably will know. The new Intel Xeon Phi coprocessors can be used for liggghts? I mean, each one of the 60 cores of one coproccesor is seen as one core by openMPI? can I use mpirun -np 60 liggghts < in.example?

Thanks in advance, and best regards.

j-kerbl's picture

j-kerbl | Wed, 03/04/2015 - 10:04

Hi Diego,

from what I've seen so far mpirun with ~60 cores should be possible. However that thing is not plug and play, since it runs its own micro linux. You can mount your original harddrive via NFS, but I'm not sure how exactly / comfortable it works with the libraries LIGGGHTS needs.
I hope this "estimation" helps a bit.
If you find out more about this topic, please share the information you gathered.

Cheers
Josef

richti83's picture

richti83 | Thu, 03/05/2015 - 09:14

Hi Josef,

What is the current status of your LIGGGHTS-OpenMP / miniMD-gran project ? I think for the Xeon Phi a Multithreading approach is better than a multiprocessing because of low clock frequence and high communication costs with 60+ cores.
Is there a plan to release miniMD-gran opensource ? I would love to play arround with it with our PGI compiler on my homebrow cluster consisting of 16+20+24=60 cores and 10 GBE :-).

Thanks,
Christian.

I'm not an associate of DCS GmbH and not a core developer of LIGGGHTS®
ResearchGate | Contact

ckloss's picture

ckloss | Tue, 03/10/2015 - 09:48

Hi all,

at the current point LIGGGHTS does not support OpenMPI. I am not an expert in OMP - I heard that the Xeon Phi supports OMP, but I am not 100% sure.
Richard Berger at JKU has been working on hybrid parallelization and it's probable that it will be released within the next year.

>>Is there a plan to release miniMD-gran opensource ?
Good point - we'll think about it if there is a good way to make this happen

Cheers
Christoph

rberger's picture

rberger | Fri, 04/10/2015 - 02:36

Hi guys,

Yes, it would work with MPI-only. You could build a native MPI LIGGGHTS binary using the Intel compiler and run it on the Xeon Phi directly. However I/O will be slow and you'll be nowhere near the 240x, or even 60x speedup. It could easily be slower than serial on your CPU. You could call it communication cost, but it's simply not the best mode of operation for our application on this architecture. In our case the OpenMP offloading model is preferable.

The difficult part is reorganizing the code to take advantage of this architecture. We're gradually creating the building blocks for this, e.g. OpenMP support. The next step is then OpenMP offloading, which is partially present in LAMMPS now, but needs backporting and new code. Also, parallelization is one thing, but you also need to vectorize well to gain a benefit.

The good news is we're getting there. The bad news it's still a lot of work.
My hybrid parallelization with MPI and OpenMP is an important first step. We're working hard to get the code out ASAP.
If you're interested, here's the paper I got out now: http://authors.elsevier.com/a/1Qp2p7QGltq0W
Its not some magic new thing which solves all problems, but it helps in some cases.

Cheers,
Richard