diff --git a/src/KOKKOS/pair_reaxc_kokkos.cpp b/src/KOKKOS/pair_reaxc_kokkos.cpp index ba44223570..58c180158a 100644 --- a/src/KOKKOS/pair_reaxc_kokkos.cpp +++ b/src/KOKKOS/pair_reaxc_kokkos.cpp @@ -33,7 +33,6 @@ #include - #define TEAMSIZE 128 /* ---------------------------------------------------------------------- */ @@ -1151,20 +1150,43 @@ void PairReaxCKokkos::operator()(PairReaxComputeLJCoulomb::operator()(PairReaxComputeLJCoulomb::operator()(PairReaxComputeAngular 0.0 && SBO <= 1.0) { + #ifdef HIP_OPT_USE_LESS_MATH + CSBO2 = pow( SBO, p_val9 - 1.0 ); + SBO2 = CSBO2*SBO; + CSBO2 = p_val9 * CSBO2; + #else SBO2 = pow( SBO, p_val9 ); CSBO2 = p_val9 * pow( SBO, p_val9 - 1.0 ); + #endif } else if (SBO > 1.0 && SBO < 2.0) { + #ifdef HIP_OPT_USE_LESS_MATH + CSBO2 = pow( 2.0 - SBO, p_val9 - 1.0 ); + SBO2 = 2.0 - CSBO2*(2.0 - SBO); + CSBO2 = p_val9 * CSBO2; + #else SBO2 = 2.0 - pow( 2.0-SBO, p_val9 ); CSBO2 = p_val9 * pow( 2.0 - SBO, p_val9 - 1.0 ); + #endif } else { SBO2 = 2.0; CSBO2 = 0.0; } expval6 = exp( p_val6 * d_Delta_boc[i] ); + F_FLOAT CdDelta_i = 0.0; F_FLOAT fitmp[3],fjtmp[3]; for (int j = 0; j < 3; j++) fitmp[j] = 0.0; @@ -2352,12 +2387,28 @@ void PairReaxCKokkos::operator()(PairReaxComputeAngular