From 1211af65a16f06d6ba99d202b783509c362f6e9b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 15 Mar 2024 12:10:12 -0600 Subject: [PATCH] Fix Kokkos teamsize too large issue --- src/KOKKOS/pair_kokkos.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 54502f290c..15417d7620 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -950,6 +950,8 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P static int vectorsize = 0; static int atoms_per_team = 0; + static int teamsize_max_for = 0; + static int teamsize_max_reduce = 0; #if defined(LMP_KOKKOS_GPU) static int lastcall = -1; @@ -966,7 +968,6 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P vectorsize = MIN(vectorsize,max_vectorsize); - int teamsize_max_for,teamsize_max_reduce; if (fpair->atom->ntypes > MAX_TYPES_STACKPARAMS) { PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); @@ -974,12 +975,12 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); } - - int teamsize_max = teamsize_max_for; - if (fpair->eflag || fpair->vflag) - teamsize_max = teamsize_max_reduce; - atoms_per_team = teamsize_max/vectorsize; } + + int teamsize_max = teamsize_max_for; + if (fpair->eflag || fpair->vflag) + teamsize_max = teamsize_max_reduce; + atoms_per_team = teamsize_max/vectorsize; #else vectorsize = 1; atoms_per_team = 1;