Unverified Commit 5e4e6b28 authored by Richard Berger's avatar Richard Berger Committed by GitHub
Browse files

Merge pull request #1803 from stanmoore1/kk_mpi

Fix performance issues with CUDA-aware MPI
parents a6a35427 e0a771d5
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -547,10 +547,10 @@ the *cuda/aware* keyword is automatically set to *off* by default. When
the *cuda/aware* keyword is set to *off* while any of the *comm*
keywords are set to *device*\ , the value for these *comm* keywords will
be automatically changed to *host*\ . This setting has no effect if not
running on GPUs. CUDA-aware MPI is available for OpenMPI 1.8 (or later
versions), Mvapich2 1.9 (or later) when the "MV2\_USE\_CUDA" environment
variable is set to "1", CrayMPI, and IBM Spectrum MPI when the "-gpu"
flag is used.
running on GPUs or if using only one MPI rank. CUDA-aware MPI is available
for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the
"MV2\_USE\_CUDA" environment variable is set to "1", CrayMPI, and IBM
Spectrum MPI when the "-gpu" flag is used.


----------

doc/txt/package.txt

deleted100644 → 0
+0 −660

File deleted.

Preview size limit exceeded, changes collapsed.

+9 −2
Original line number Diff line number Diff line
@@ -220,7 +220,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)

  int nmpi = 0;
  MPI_Comm_size(world,&nmpi);
  if (nmpi > 0) {
  if (nmpi > 1) {

#if defined(MPI_VERSION) && (MPI_VERSION > 2)
    // Check for IBM Spectrum MPI
@@ -397,9 +397,14 @@ void KokkosLMP::accelerator(int narg, char **arg)
    } else error->all(FLERR,"Illegal package kokkos command");
  }

#ifdef KOKKOS_ENABLE_CUDA

  int nmpi = 0;
  MPI_Comm_size(world,&nmpi);

  // if "cuda/aware off" and "comm device", change to "comm host"

  if (!cuda_aware_flag) {
  if (!cuda_aware_flag && nmpi > 1) {
    if (exchange_comm_classic == 0 && exchange_comm_on_host == 0) {
      exchange_comm_on_host = 1;
      exchange_comm_changed = 1;
@@ -431,6 +436,8 @@ void KokkosLMP::accelerator(int narg, char **arg)
    }
  }

#endif

  // set newton flags
  // set neighbor binsize, same as neigh_modify command