diff --git a/org/qmckl_ao.org b/org/qmckl_ao.org index b53e4f7..2f02ce8 100644 --- a/org/qmckl_ao.org +++ b/org/qmckl_ao.org @@ -111,6 +111,10 @@ int main() { #include "qmckl_memory_private_func.h" #include "qmckl_ao_private_type.h" #include "qmckl_ao_private_func.h" + +#ifdef HAVE_HPC +#include +#endif #+end_src * Context @@ -6411,23 +6415,25 @@ qmckl_compute_ao_vgl_hpc_gaussian ( #endif { qmckl_exit_code rc; - double ar2[prim_max]; - int32_t powers[3*size_max]; - double poly_vgl_l1[4][4] = {{1.0, 0.0, 0.0, 0.0}, + double ar2[prim_max] __attribute__((aligned(64))); + int32_t powers[3*size_max] __attribute__((aligned(64))); + double poly_vgl_l1[4][4] __attribute__((aligned(64))) = + {{1.0, 0.0, 0.0, 0.0}, {0.0, 1.0, 0.0, 0.0}, {0.0, 0.0, 1.0, 0.0}, {0.0, 0.0, 0.0, 1.0}}; - double poly_vgl_l2[5][10] = {{1., 0., 0., 0., 0., 0., 0., 0., 0., 0.}, + double poly_vgl_l2[5][10]__attribute__((aligned(64))) = + {{1., 0., 0., 0., 0., 0., 0., 0., 0., 0.}, {0., 1., 0., 0., 0., 0., 0., 0., 0., 0.}, {0., 0., 1., 0., 0., 0., 0., 0., 0., 0.}, {0., 0., 0., 1., 0., 0., 0., 0., 0., 0.}, {0., 0., 0., 0., 2., 0., 0., 2., 0., 2.}}; - double poly_vgl[5][size_max]; + double poly_vgl[5][size_max] __attribute__((aligned(64))); - double exp_mat[prim_max][8]; - double ce_mat[shell_max][8]; + double exp_mat[prim_max][8] __attribute__((aligned(64))) ; + double ce_mat[shell_max][8] __attribute__((aligned(64))) ; - double coef_mat[nucl_num][shell_max][prim_max]; + double coef_mat[nucl_num][shell_max][prim_max] __attribute__((aligned(64))); for (int i=0 ; i