Commit 11765c49 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Use single level OMP parallelism in scr0()

parent ebe986db
Loading
Loading
Loading
Loading
+5 −20
Original line number Diff line number Diff line
@@ -2194,17 +2194,16 @@ void rftr(

void scr0(double vk, double exri, ParticleDescriptor *c1) {
  const dcomplex cc0 = 0.0 + 0.0 * I;
  double exdc = exri * exri;
  double ccs = 4.0 * acos(0.0) / (vk * vk);
  double cccs = ccs / exdc;
  dcomplex csam = -(ccs / (exri * vk)) * 0.5 * I;
  const double exdc = exri * exri;
  const double ccs = 4.0 * acos(0.0) / (vk * vk);
  const double cccs = ccs / exdc;
  const dcomplex csam = -(ccs / (exri * vk)) * 0.5 * I;
  //double scs = 0.0, ecs = 0.0, acs = 0.0;
  dcomplex *vec_rmi = c1->rmi[0];
  dcomplex *vec_rei = c1->rei[0];
#ifdef USE_NVTX
  nvtxRangePush("scr0 outer loop 1");
#endif
#pragma omp parallel for
  for (int i14 = 1; i14 <= c1->nsph; i14++) {
    int iogi = c1->iog[i14 - 1];
    if (iogi >= i14) {
@@ -2213,11 +2212,6 @@ void scr0(double vk, double exri, ParticleDescriptor *c1) {
#ifdef USE_NVTX
      nvtxRangePush("scr0 inner loop 1");
#endif
// #ifdef USE_TARGET_OFFLOAD
// #pragma omp target teams distribute parallel for simd reduction(+:sums, sum21)
// #else
// #pragma omp parallel for simd reduction(+:sums, sum21)
// #endif
#pragma omp parallel for simd reduction(+:sums, sum21)
      for (int l10 = 1; l10 <= c1->li; l10++) {
	double fl = 1.0 * (l10 + l10 + 1);
@@ -2247,10 +2241,6 @@ void scr0(double vk, double exri, ParticleDescriptor *c1) {
      c1->fsas[i14 - 1] = sum21 * csam;
    }
    // label 12
    // scs += c1->sscs[iogi - 1];
    // ecs += c1->sexs[iogi - 1];
    // acs += c1->sabs[iogi - 1];
    // tfsas += c1->fsas[iogi - 1];
  } // i14 loop
#ifdef USE_NVTX
  nvtxRangePop();
@@ -2262,11 +2252,6 @@ void scr0(double vk, double exri, ParticleDescriptor *c1) {
#ifdef USE_NVTX
  nvtxRangePush("scr0 loop 2");
#endif
// #ifdef USE_TARGET_OFFLOAD
// #pragma omp target teams distribute parallel for simd reduction(+:scs, ecs, acs, tfsas)
// #else
// #pragma omp parallel for simd reduction(+:scs, ecs, acs, tfsas)
// #endif
#pragma omp parallel for simd reduction(+:scs, ecs, acs, tfsas)
  for (int i14 = 1; i14 <= c1->nsph; i14++) {
    int iogi = c1->iog[i14 - 1];