mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-08-24 22:21:46 +02:00
simd
This commit is contained in:
parent
2228ab23c5
commit
be2a7199c2
@ -5882,7 +5882,9 @@ qmckl_compute_ao_value_hpc_gaussian (const qmckl_context context,
|
||||
}
|
||||
}
|
||||
|
||||
IVDEP
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat[iprim] = exp(-ar2[iprim]);
|
||||
}
|
||||
@ -5899,12 +5901,16 @@ IVDEP
|
||||
}
|
||||
}
|
||||
|
||||
IVDEP
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat_sp[iprim] = expf(-ar2_sp[iprim]);
|
||||
}
|
||||
|
||||
IVDEP
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat[iprim] = exp_mat_sp[iprim];
|
||||
}
|
||||
@ -5930,16 +5936,16 @@ IVDEP
|
||||
|
||||
const double s1 = ce_mat[ishell-ishell_start];
|
||||
|
||||
if (s1 == 0.0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const int64_t k = ao_index[ishell];
|
||||
double* restrict const ao_value_1 = ao_value + ipoint_ao_num + k;
|
||||
|
||||
const int32_t l = shell_ang_mom[ishell];
|
||||
const int32_t n = lstart[l+1]-lstart[l];
|
||||
|
||||
if (s1 == 0.0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
double* restrict poly_vgl_1 = NULL;
|
||||
if (nidx > 0) {
|
||||
const double* restrict f = ao_factor + k;
|
||||
@ -5976,15 +5982,6 @@ IVDEP
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
/*
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t il=0 ; il<n ; ++il) {
|
||||
ao_value_1[il] = 0.0;
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6685,6 +6682,9 @@ qmckl_compute_ao_vgl_hpc_gaussian (
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat[iprim][0] = exp(-ar2[iprim]);
|
||||
}
|
||||
@ -6702,16 +6702,25 @@ qmckl_compute_ao_vgl_hpc_gaussian (
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat_sp[iprim] = expf(-ar2_sp[iprim]);
|
||||
}
|
||||
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
exp_mat[iprim][0] = exp_mat_sp[iprim];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#ifdef HAVE_OPENMP
|
||||
#pragma omp simd
|
||||
#endif
|
||||
for (int64_t iprim = 0 ; iprim < nidx ; ++iprim) {
|
||||
double f = qmckl_mat(expo_per_nucleus, iprim, inucl) * exp_mat[iprim][0];
|
||||
f = -f-f;
|
||||
|
@ -6647,6 +6647,19 @@ end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f
|
||||
double* const een_rescaled_e_gl );
|
||||
#+end_src
|
||||
|
||||
#+begin_src c :comments org :tangle (eval h_private_func) :noweb yes :exports none
|
||||
qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc (
|
||||
const qmckl_context context,
|
||||
const int64_t walk_num,
|
||||
const int64_t elec_num,
|
||||
const int64_t cord_num,
|
||||
const double rescale_factor_ee,
|
||||
const double* coord_ee,
|
||||
const double* ee_distance,
|
||||
const double* een_rescaled_e,
|
||||
double* const een_rescaled_e_gl );
|
||||
#+end_src
|
||||
|
||||
|
||||
#+CALL: generate_c_interface(table=qmckl_factor_een_rescaled_e_gl_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
||||
|
||||
@ -6692,6 +6705,19 @@ end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f
|
||||
end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc
|
||||
#+end_src
|
||||
|
||||
#+begin_src c :comments org :tangle (eval h_private_func) :noweb yes :exports none
|
||||
qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc (
|
||||
const qmckl_context context,
|
||||
const int64_t walk_num,
|
||||
const int64_t elec_num,
|
||||
const int64_t cord_num,
|
||||
const double rescale_factor_ee,
|
||||
const double* coord_ee,
|
||||
const double* ee_distance,
|
||||
const double* een_rescaled_e,
|
||||
double* const een_rescaled_e_gl );
|
||||
#+end_src
|
||||
|
||||
#+begin_src c :comments org :tangle (eval c) :noweb yes
|
||||
qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc (
|
||||
const qmckl_context context,
|
||||
|
Loading…
Reference in New Issue
Block a user