Loading src/libnptm/clu_subs.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -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++) { Loading Loading @@ -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; Loading @@ -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]; Loading src/libnptm/magma_calls.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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) Loading Loading
src/libnptm/clu_subs.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -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++) { Loading Loading @@ -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; Loading @@ -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]; Loading
src/libnptm/magma_calls.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -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) Loading