Commit 56203b9f authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Always initialize AM matrix at 0

parent 0b98dde0
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -463,8 +463,14 @@ void cms(dcomplex *am, ParticleDescriptor *c1) {
  const int li = c1->li;
  const int ndi = nsph * nlim;
  const int ndit = ndi + ndi;
  const np_int size = ndit * ndit;
  const int nsphmo = nsph - 1;
  const int lmtpo = c1->lmtpo;
  const dcomplex cc0 = 0.0 + I * 0.0;

#pragma omp parallel for
  for (np_int iter = 0; iter < size; iter++)
    am[iter] = cc0;
  
  // int nbl = 0;
  for (int n1 = 1; n1 <= nsphmo; n1++) {
@@ -554,6 +560,7 @@ void cms_flat(dcomplex *am, ParticleDescriptor *c1) {
  const int li = c1->li;
  const int ndi = nsph * nlim;
  const int ndit = 2 * ndi;
  const np_int size = ndit * ndit;
  const int max_litpo = 2 * li + 1;
  const int nsphmo = nsph - 1;
  const int lmtpo = c1->lmtpo;
@@ -561,6 +568,10 @@ void cms_flat(dcomplex *am, ParticleDescriptor *c1) {
  const np_int total_iters = num_pairs * li * max_litpo * li * max_litpo;
  const dcomplex cc0 = 0.0 + I * 0.0;

  #pragma omp parallel for
  for (np_int iter = 0; iter < size; iter++)
    am[iter] = cc0;
  
  // Prepare and fill look-up tables
  int *lut_n1 = new int[num_pairs];
  int *lut_n2 = new int[num_pairs];
+4 −0
Original line number Diff line number Diff line
@@ -151,6 +151,10 @@ magma_int_t magma_cms(
    }
  }

#pragma omp target teams distribute parallel for
  for (magma_int_t iter = 0; iter < size; iter++)
    vec_am[iter] = cz0;
  
#pragma omp target teams distribute parallel for \
  map(to: lut_n1[0:num_pairs], lut_n2[0:num_pairs]) \
  device(device_id)