Skip to Content.
Sympa Menu

charm - Re: [charm] how to build the charm for Xeon Phi and Xeon heterogeneous run?

charm AT lists.cs.illinois.edu

Subject: Charm++ parallel programming system

List archive

Re: [charm] how to build the charm for Xeon Phi and Xeon heterogeneous run?


Chronological Thread 
  • From: Ronak Buch <rabuch2 AT illinois.edu>
  • To: Ekaterina Tutlyaeva <xgl AT rsc-tech.ru>
  • Cc: "charm AT cs.uiuc.edu" <charm AT cs.uiuc.edu>
  • Subject: Re: [charm] how to build the charm for Xeon Phi and Xeon heterogeneous run?
  • Date: Tue, 25 Oct 2016 04:18:35 -0500

Hello Ekaterina,

The recommended way to run Charm++ programs in a heterogeneous way across x86 host cores and Xeon Phis is using Intel MPI.

Build two MPI builds of Charm++ (for example, mpi-linux-x86_64), one for the host and one for the Xeon Phi.  For example:
./build LIBS mpi-linux-x86_64 -j16 --with-production -DMPICH_IGNORE_CXX_SEEK -DMPICH_SKIP_MPICXX
./build LIBS mpi-linux-x86_64 mic -j16 --with-production
Then, your application should be compiled in each build of Charm++.  The Xeon Phi version should then be placed on the Xeon Phi (or made accessible via a shared filesystem).

Finally, to run, use mpirun to execute across the various devices.  The necessary options may vary based on system configuration (for example, in this case, we had to copy Xeon Phi versions of the MPI dynamic libraries to the card for execution to work).

export I_MPI_MIC=enable
mpirun -n 1 -host <x86 hostname> ./hello : -n 1 -host <Xeon Phi hostname> -genv LD_LIBRARY_PATH=~/mpiLibs ~/hello

See here for more information (this is specifically for Intel MPI, but is largely applicable to Charm++ as well): https://software.intel.com/en-us/articles/how-to-run-intel-mpi-on-xeon-phi

Thanks,
Ronak

On Mon, Oct 24, 2016 at 6:36 AM, Ekaterina Tutlyaeva <xgl AT rsc-tech.ru> wrote:

Dear support,

Could you be so kind to give me some advise, how should I build the Charm for run in heterogeneous environment (Intel Xeon Phi 7120 in native mode and Intel Xeon E5-2697 v3)? Interconnect is Infiniband.

The goal is to run dense LU benchmark: http://charmplusplus.org/miniApps/#denselu in this environment.

I've tried some CHARM builds, for example verbs-linux-x86_64-icc. It works nice with
Intel Xeon E5-2697.
But whan I try to compile LU benchmark for Xeon Phi, I got the k1om incompatibility issue with charm modules, not suited for Phi.

x86_64-k1om-linux-ld: skipping incompatible /home3/iki5/ordi/src/charm/charm-6.7.1/v                    erbs-linux-x86_64-icc/bin/../lib/libmoduleCkMulticast.a when searching for -lmoduleC                    kMulticast
x86_64-k1om-linux-ld: cannot find -lmoduleCkMulticast

Thank and sorry for your time. I'm tried hard to find some information on the topic, but can't do it myself.

How could I build it all for heterogeneous support?
Thank you!!!!


Best regards,
Ekaterina




Archive powered by MHonArc 2.6.19.

Top of Page