avoid requesting threaded neighbor lists that are both threaded via USER-OMP and USER-INTEL
This commit is contained in:
@ -532,8 +532,13 @@ void FixIntel::check_neighbor_intel()
|
|||||||
_offload_noghost = 0;
|
_offload_noghost = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#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)
|
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.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -318,8 +318,11 @@ void FixOMP::set_neighbor_omp()
|
|||||||
const int neigh_omp = _neighbor ? 1 : 0;
|
const int neigh_omp = _neighbor ? 1 : 0;
|
||||||
const int nrequest = neighbor->nrequest;
|
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)
|
for (int i = 0; i < nrequest; ++i)
|
||||||
neighbor->requests[i]->omp = neigh_omp;
|
if (! neighbor->requests[i]->intel)
|
||||||
|
neighbor->requests[i]->omp = neigh_omp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|||||||
Reference in New Issue
Block a user