avoid requesting threaded neighbor lists that are both threaded via USER-OMP and USER-INTEL

This commit is contained in:
Axel Kohlmeyer
2018-10-05 16:03:11 +02:00
parent cdea8968c2
commit 61e2cd3f61
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,7 +318,10 @@ 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)
if (! neighbor->requests[i]->intel)
neighbor->requests[i]->omp = neigh_omp;
}