@@ -11503,8 +11503,8 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11503
11503
#pragma omp parallel for
11504
11504
#endif
11505
11505
for (size_t nw = 0; nw < (size_t) walk_num; ++nw) {
11506
- bool touched = false;
11507
11506
double* const restrict factor_een_gl_0nw = &(factor_een_gl[elec_num*4*nw]);
11507
+ memset(factor_een_gl_0nw, 0, elec_num*4*sizeof(double));
11508
11508
for (size_t n = 0; n < (size_t) dim_c_vector; ++n) {
11509
11509
const size_t l = lkpm_combined_index[n];
11510
11510
const size_t k = lkpm_combined_index[n+ dim_c_vector];
@@ -11561,11 +11561,10 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11561
11561
11562
11562
double tmp3[elec_num];
11563
11563
11564
- if (touched) {
11565
11564
#ifdef HAVE_OPENMP
11566
11565
#pragma omp simd
11567
11566
#endif
11568
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11567
+ for (size_t j = 0; j < (size_t) elec_num; ++j) {
11569
11568
11570
11569
factor_een_gl_0nw[j] = factor_een_gl_0nw[j] + cn * (
11571
11570
dtmp_c_0amknw [j] * een_rescaled_n_amlnw[j] +
@@ -11576,12 +11575,12 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11576
11575
tmp3[j] =
11577
11576
dtmp_c_0amknw [j] * een_rescaled_n_gl_0amlnw[j] +
11578
11577
dtmp_c_0amlknw[j] * een_rescaled_n_gl_0amnw [j];
11579
- }
11578
+ }
11580
11579
11581
11580
#ifdef HAVE_OPENMP
11582
11581
#pragma omp simd
11583
11582
#endif
11584
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11583
+ for (size_t j = 0; j < (size_t) elec_num; ++j) {
11585
11584
11586
11585
factor_een_gl_1nw[j] = factor_een_gl_1nw[j] + cn * (
11587
11586
dtmp_c_1amknw [j] * een_rescaled_n_amlnw[j] +
@@ -11592,12 +11591,12 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11592
11591
tmp3[j] = tmp3[j] +
11593
11592
dtmp_c_1amknw [j] * een_rescaled_n_gl_1amlnw[j] +
11594
11593
dtmp_c_1amlknw[j] * een_rescaled_n_gl_1amnw [j];
11595
- }
11594
+ }
11596
11595
11597
11596
#ifdef HAVE_OPENMP
11598
11597
#pragma omp simd
11599
11598
#endif
11600
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11599
+ for (size_t j = 0; j < (size_t) elec_num; ++j) {
11601
11600
11602
11601
factor_een_gl_2nw[j] = factor_een_gl_2nw[j] + cn * (
11603
11602
dtmp_c_2amknw [j] * een_rescaled_n_amlnw[j] +
@@ -11608,12 +11607,12 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11608
11607
tmp3[j] = tmp3[j] +
11609
11608
dtmp_c_2amknw [j] * een_rescaled_n_gl_2amlnw[j] +
11610
11609
dtmp_c_2amlknw[j] * een_rescaled_n_gl_2amnw [j];
11611
- }
11610
+ }
11612
11611
11613
11612
#ifdef HAVE_OPENMP
11614
11613
#pragma omp simd
11615
11614
#endif
11616
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11615
+ for (size_t j = 0; j < (size_t) elec_num; ++j) {
11617
11616
factor_een_gl_3nw[j] = factor_een_gl_3nw[j] + cn * (
11618
11617
dtmp_c_3amknw [j] * een_rescaled_n_amlnw[j] +
11619
11618
dtmp_c_3amlknw[j] * een_rescaled_n_amnw [j] +
@@ -11622,76 +11621,8 @@ qmckl_compute_jastrow_champ_factor_een_gl_hpc(const qmckl_context context,
11622
11621
tmp3[j]*2.0);
11623
11622
}
11624
11623
11625
- } else {
11626
-
11627
- touched = true;
11628
-
11629
- #ifdef HAVE_OPENMP
11630
- #pragma omp simd
11631
- #endif
11632
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11633
-
11634
- factor_een_gl_0nw[j] = cn * (
11635
- dtmp_c_0amknw [j] * een_rescaled_n_amlnw[j] +
11636
- dtmp_c_0amlknw[j] * een_rescaled_n_amnw [j] +
11637
- tmp_c_amkn [j] * een_rescaled_n_gl_0amlnw[j] +
11638
- tmp_c_amlkn[j] * een_rescaled_n_gl_0amnw [j]);
11639
-
11640
- tmp3[j] =
11641
- dtmp_c_0amknw [j] * een_rescaled_n_gl_0amlnw[j] +
11642
- dtmp_c_0amlknw[j] * een_rescaled_n_gl_0amnw [j];
11643
- }
11644
-
11645
- #ifdef HAVE_OPENMP
11646
- #pragma omp simd
11647
- #endif
11648
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11649
-
11650
- factor_een_gl_1nw[j] = cn * (
11651
- dtmp_c_1amknw [j] * een_rescaled_n_amlnw[j] +
11652
- dtmp_c_1amlknw[j] * een_rescaled_n_amnw [j] +
11653
- tmp_c_amkn [j] * een_rescaled_n_gl_1amlnw[j] +
11654
- tmp_c_amlkn[j] * een_rescaled_n_gl_1amnw [j]);
11655
-
11656
- tmp3[j] = tmp3[j] +
11657
- dtmp_c_1amknw [j] * een_rescaled_n_gl_1amlnw[j] +
11658
- dtmp_c_1amlknw[j] * een_rescaled_n_gl_1amnw [j];
11659
- }
11660
-
11661
- #ifdef HAVE_OPENMP
11662
- #pragma omp simd
11663
- #endif
11664
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11665
-
11666
- factor_een_gl_2nw[j] = cn * (
11667
- dtmp_c_2amknw [j] * een_rescaled_n_amlnw[j] +
11668
- dtmp_c_2amlknw[j] * een_rescaled_n_amnw [j] +
11669
- tmp_c_amkn [j] * een_rescaled_n_gl_2amlnw[j] +
11670
- tmp_c_amlkn[j] * een_rescaled_n_gl_2amnw [j]);
11671
-
11672
- tmp3[j] = tmp3[j] +
11673
- dtmp_c_2amknw[j] * een_rescaled_n_gl_2amlnw[j] +
11674
- dtmp_c_2amlknw[j] * een_rescaled_n_gl_2amnw[j];
11675
- }
11676
-
11677
- #ifdef HAVE_OPENMP
11678
- #pragma omp simd
11679
- #endif
11680
- for (size_t j = 0; j < (size_t) elec_num; ++j) {
11681
- factor_een_gl_3nw[j] = cn * (
11682
- dtmp_c_3amknw [j] * een_rescaled_n_amlnw[j] +
11683
- dtmp_c_3amlknw[j] * een_rescaled_n_amnw [j] +
11684
- tmp_c_amkn [j] * een_rescaled_n_gl_3amlnw[j] +
11685
- tmp_c_amlkn[j] * een_rescaled_n_gl_3amnw [j] +
11686
- tmp3[j]*2.0);
11687
- }
11688
-
11689
- }
11690
11624
}
11691
11625
}
11692
- if (!touched) {
11693
- memset(factor_een_gl_0nw, 0, elec_num*4*sizeof(double));
11694
- }
11695
11626
}
11696
11627
return info;
11697
11628
}
0 commit comments