1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2025-01-03 01:56:18 +01:00
This commit is contained in:
Anthony Scemama 2024-12-13 03:10:10 +01:00
parent 71de52c39f
commit 85e1261916

View File

@ -2445,14 +2445,18 @@ qmckl_exit_code qmckl_compute_ee_distance_rescaled_hpc (
{ {
#endif #endif
qmckl_exit_code rc = QMCKL_SUCCESS; qmckl_exit_code rc = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp for #pragma omp for
#endif
for (int64_t k=0 ; k<walk_num ; ++k) for (int64_t k=0 ; k<walk_num ; ++k)
{ {
rc |= qmckl_distance_rescaled(context, 'T', 'T', elec_num, elec_num, rc |= qmckl_distance_rescaled(context, 'T', 'T', elec_num, elec_num,
&(coord[k*elec_num]), sze, &(coord[k*elec_num]), sze, &(coord[k*elec_num]), sze, &(coord[k*elec_num]), sze,
&(ee_distance_rescaled[k*elec_num2]), elec_num, rescale_factor_ee); &(ee_distance_rescaled[k*elec_num2]), elec_num, rescale_factor_ee);
} }
#ifdef HAVE_OPENMP
#pragma omp critical #pragma omp critical
#endif
result |= rc; result |= rc;
#ifdef HAVE_OPENMP #ifdef HAVE_OPENMP
} }
@ -2802,10 +2806,14 @@ qmckl_exit_code qmckl_compute_ee_distance_rescaled_gl_hpc (
const int64_t elec_num2= elec_num*elec_num*4; const int64_t elec_num2= elec_num*elec_num*4;
qmckl_exit_code result = QMCKL_SUCCESS; qmckl_exit_code result = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp parallel #pragma omp parallel
#endif
{ {
qmckl_exit_code rc = QMCKL_SUCCESS; qmckl_exit_code rc = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp for #pragma omp for
#endif
for (int64_t k=0 ; k<walk_num ; ++k) for (int64_t k=0 ; k<walk_num ; ++k)
{ {
rc |= qmckl_distance_rescaled_gl(context, 'T', 'T', elec_num, elec_num, rc |= qmckl_distance_rescaled_gl(context, 'T', 'T', elec_num, elec_num,
@ -2814,7 +2822,9 @@ qmckl_exit_code qmckl_compute_ee_distance_rescaled_gl_hpc (
&(ee_distance_rescaled_gl[k*elec_num2]), elec_num, &(ee_distance_rescaled_gl[k*elec_num2]), elec_num,
rescale_factor_ee); rescale_factor_ee);
} }
#ifdef HAVE_OPENMP
#pragma omp critical #pragma omp critical
#endif
result |= rc; result |= rc;
} }
return result; return result;
@ -4824,10 +4834,14 @@ qmckl_exit_code qmckl_compute_en_distance_rescaled_hpc (
const int64_t sze = elec_num*walk_num; const int64_t sze = elec_num*walk_num;
qmckl_exit_code result = QMCKL_SUCCESS; qmckl_exit_code result = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp parallel #pragma omp parallel
#endif
{ {
qmckl_exit_code rc = QMCKL_SUCCESS; qmckl_exit_code rc = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp for #pragma omp for
#endif
for (int64_t k=0 ; k<walk_num ; ++k) for (int64_t k=0 ; k<walk_num ; ++k)
{ {
for (int64_t a=0 ; a<nucl_num ; ++a) { for (int64_t a=0 ; a<nucl_num ; ++a) {
@ -4839,7 +4853,9 @@ qmckl_exit_code qmckl_compute_en_distance_rescaled_hpc (
rescale_factor_en[type_nucl_vector[a]]); rescale_factor_en[type_nucl_vector[a]]);
} }
} }
#ifdef HAVE_OPENMP
#pragma omp critical #pragma omp critical
#endif
result |= rc; result |= rc;
} }
return result; return result;
@ -5269,10 +5285,14 @@ qmckl_exit_code qmckl_compute_en_distance_rescaled_gl_hpc (
const int64_t sze = elec_num*walk_num; const int64_t sze = elec_num*walk_num;
qmckl_exit_code result = QMCKL_SUCCESS; qmckl_exit_code result = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp parallel #pragma omp parallel
#endif
{ {
qmckl_exit_code rc = QMCKL_SUCCESS; qmckl_exit_code rc = QMCKL_SUCCESS;
#ifdef HAVE_OPENMP
#pragma omp for #pragma omp for
#endif
for (int64_t k=0 ; k<walk_num ; ++k) for (int64_t k=0 ; k<walk_num ; ++k)
{ {
for (int64_t a=0 ; a<nucl_num ; ++a) { for (int64_t a=0 ; a<nucl_num ; ++a) {
@ -5284,7 +5304,9 @@ qmckl_exit_code qmckl_compute_en_distance_rescaled_gl_hpc (
rescale_factor_en[type_nucl_vector[a]]); rescale_factor_en[type_nucl_vector[a]]);
} }
} }
#ifdef HAVE_OPENMP
#pragma omp critical #pragma omp critical
#endif
result |= rc; result |= rc;
} }
return result; return result;
@ -7588,7 +7610,9 @@ qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc (
assert (elec_dist_gl2 != NULL); assert (elec_dist_gl2 != NULL);
assert (elec_dist_gl3 != NULL); assert (elec_dist_gl3 != NULL);
#ifdef HAVE_OPENMP
#pragma omp parallel for #pragma omp parallel for
#endif
for (int64_t nw = 0; nw < walk_num; ++nw) { for (int64_t nw = 0; nw < walk_num; ++nw) {
double rij_inv[elec_num]; double rij_inv[elec_num];
for (int64_t j = 0; j < elec_num; ++j) { for (int64_t j = 0; j < elec_num; ++j) {
@ -7873,8 +7897,6 @@ print(" een_rescaled_e_gl[2, 1, 6, 2] = ",een_rescaled_e_gl[1, 0, 5, 2])
&(temp_coord[0][0][0]), &(temp_coord[0][0][0]),
walk_num*3*elec_num); walk_num*3*elec_num);
assert(rc == QMCKL_SUCCESS); assert(rc == QMCKL_SUCCESS);
rc = qmckl_context_touch(context);
assert(rc == QMCKL_SUCCESS);
// Call the provided function // Call the provided function
rc = qmckl_get_jastrow_champ_een_distance_rescaled_e(context, rc = qmckl_get_jastrow_champ_een_distance_rescaled_e(context,
@ -7895,7 +7917,7 @@ print(" een_rescaled_e_gl[2, 1, 6, 2] = ",een_rescaled_e_gl[1, 0, 5, 2])
} }
for (int64_t nw=0 ; nw<walk_num ; nw++) { for (int64_t nw=0 ; nw<walk_num ; nw++) {
temp_coord[nw][i][k] = elec_coord[nw][i][k]; temp_coord[nw][i][k] = elec_coord[nw][i][k];
} }
} }
} }