Merge pull request #1147 from akohlmey/fix-omp-intel-neighbor

Resolve neighbor list request conflict with USER-INTEL and USER-OMP
This commit is contained in:
Axel Kohlmeyer
2018-10-09 18:40:41 +02:00
committed by GitHub
2 changed files with 10 additions and 2 deletions

View File

@ -532,8 +532,13 @@ void FixIntel::check_neighbor_intel()
_offload_noghost = 0;
}
#endif
// avoid flagging a neighbor list as both USER-INTEL and USER-OMP
if (neighbor->requests[i]->intel)
neighbor->requests[i]->omp = 0;
if (neighbor->requests[i]->skip)
error->all(FLERR, "Cannot yet use hybrid styles with Intel package.");
error->all(FLERR, "Hybrid styles with Intel package are unsupported.");
}
}

View File

@ -318,8 +318,11 @@ void FixOMP::set_neighbor_omp()
const int neigh_omp = _neighbor ? 1 : 0;
const int nrequest = neighbor->nrequest;
// flag *all* neighbor list requests as USER-OMP threaded,
// but skip lists already flagged as USER-INTEL threaded
for (int i = 0; i < nrequest; ++i)
neighbor->requests[i]->omp = neigh_omp;
if (! neighbor->requests[i]->intel)
neighbor->requests[i]->omp = neigh_omp;
}
/* ---------------------------------------------------------------------- */