reduce compiler warnings and need for private variables in OpenMP pragmas

This commit is contained in:
Axel Kohlmeyer
2022-03-02 22:19:28 -05:00
parent 7fb684b802
commit b4da01c23a
3 changed files with 17 additions and 21 deletions

View File

@ -246,12 +246,11 @@ void FixRigidNHOMP::compute_forces_and_torques()
if (rstyle == SINGLE) {
// we have just one rigid body. use OpenMP reduction to get sum[]
double s0=0.0,s1=0.0,s2=0.0,s3=0.0,s4=0.0,s5=0.0;
int i;
#if defined(_OPENMP)
#pragma omp parallel for LMP_DEFAULT_NONE private(i) reduction(+:s0,s1,s2,s3,s4,s5)
#pragma omp parallel for LMP_DEFAULT_NONE reduction(+:s0,s1,s2,s3,s4,s5)
#endif
for (i = 0; i < nlocal; i++) {
for (int i = 0; i < nlocal; i++) {
const int ibody = body[i];
if (ibody < 0) continue;
@ -285,12 +284,11 @@ void FixRigidNHOMP::compute_forces_and_torques()
for (int ib = 0; ib < nbody; ++ib) {
double s0=0.0,s1=0.0,s2=0.0,s3=0.0,s4=0.0,s5=0.0;
int i;
#if defined(_OPENMP)
#pragma omp parallel for LMP_DEFAULT_NONE private(i) LMP_SHARED(ib) reduction(+:s0,s1,s2,s3,s4,s5)
#pragma omp parallel for LMP_DEFAULT_NONE LMP_SHARED(ib) reduction(+:s0,s1,s2,s3,s4,s5)
#endif
for (i = 0; i < nlocal; i++) {
for (int i = 0; i < nlocal; i++) {
const int ibody = body[i];
if (ibody != ib) continue;

View File

@ -384,7 +384,6 @@ void PairCombOMP::eval(int iifrom, int iito, ThrData * const thr)
double PairCombOMP::yasu_char(double *qf_fix, int &igroup)
{
int ii;
double potal,fac11,fac11e;
const double * const * const x = atom->x;
@ -401,7 +400,7 @@ double PairCombOMP::yasu_char(double *qf_fix, int &igroup)
const int groupbit = group->bitmask[igroup];
qf = qf_fix;
for (ii = 0; ii < inum; ii++) {
for (int ii = 0; ii < inum; ii++) {
const int i = ilist[ii];
if (mask[i] & groupbit)
qf[i] = 0.0;
@ -417,9 +416,9 @@ double PairCombOMP::yasu_char(double *qf_fix, int &igroup)
// loop over full neighbor list of my atoms
#if defined(_OPENMP)
#pragma omp parallel for private(ii) LMP_DEFAULT_NONE LMP_SHARED(potal,fac11e)
#pragma omp parallel for LMP_DEFAULT_NONE LMP_SHARED(potal,fac11e)
#endif
for (ii = 0; ii < inum; ii ++) {
for (int ii = 0; ii < inum; ii ++) {
double fqi,fqij,fqji,fqjj,delr1[3];
double sr1,sr2,sr3;
int mr1,mr2,mr3;
@ -533,7 +532,7 @@ double PairCombOMP::yasu_char(double *qf_fix, int &igroup)
// sum charge force on each node and return it
double eneg = 0.0;
for (ii = 0; ii < inum; ii++) {
for (int ii = 0; ii < inum; ii++) {
const int i = ilist[ii];
if (mask[i] & groupbit)
eneg += qf[i];

View File

@ -402,8 +402,7 @@ int PairReaxFFOMP::estimate_reax_lists()
int PairReaxFFOMP::write_reax_lists()
{
int itr_i, itr_j, i, j, num_mynbrs;
int *jlist;
int num_mynbrs;
double d_sqr, dist, cutoff_sqr;
rvec dvec;
@ -425,19 +424,19 @@ int PairReaxFFOMP::write_reax_lists()
num_nbrs = 0;
for (itr_i = 0; itr_i < numall; ++itr_i) {
i = ilist[itr_i];
for (int itr_i = 0; itr_i < numall; ++itr_i) {
int i = ilist[itr_i];
num_nbrs_offset[i] = num_nbrs;
num_nbrs += numneigh[i];
}
#if defined(_OPENMP)
#pragma omp parallel for schedule(dynamic,50) default(shared) \
private(itr_i, itr_j, i, j, jlist, cutoff_sqr, num_mynbrs, d_sqr, dvec, dist)
private(cutoff_sqr, num_mynbrs, d_sqr, dvec, dist)
#endif
for (itr_i = 0; itr_i < numall; ++itr_i) {
i = ilist[itr_i];
jlist = firstneigh[i];
for (int itr_i = 0; itr_i < numall; ++itr_i) {
int i = ilist[itr_i];
auto jlist = firstneigh[i];
Set_Start_Index(i, num_nbrs_offset[i], far_nbrs);
if (i < inum)
@ -447,8 +446,8 @@ int PairReaxFFOMP::write_reax_lists()
num_mynbrs = 0;
for (itr_j = 0; itr_j < numneigh[i]; ++itr_j) {
j = jlist[itr_j];
for (int itr_j = 0; itr_j < numneigh[i]; ++itr_j) {
int j = jlist[itr_j];
j &= NEIGHMASK;
get_distance(x[j], x[i], &d_sqr, &dvec);