diff --git a/org/qmckl_sherman_morrison_woodbury.org b/org/qmckl_sherman_morrison_woodbury.org index 3813d04..261df07 100644 --- a/org/qmckl_sherman_morrison_woodbury.org +++ b/org/qmckl_sherman_morrison_woodbury.org @@ -561,7 +561,7 @@ qmckl_exit_code qmckl_sherman_morrison_naive(const qmckl_context context, <> } } - else { // When SIMD_LENGTH > 1, called with LDS == Dim AND Dim != (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH) + else { // Updating smaller sub-matrix return qmckl_sherman_morrison_naive_hpc(context, LDS, Dim, @@ -1070,7 +1070,7 @@ static inline qmckl_exit_code qmckl_slagel_splitting_{Dim}( #+end_src #+NAME:slagel_splitting_kernel_generator -#+begin_src python :noweb yes :exports none +#+begin_src python :noweb yes text=""" <> """ @@ -1083,7 +1083,7 @@ return '\n'.join(result) #+end_src #+NAME:slagel_splitting_switch-case_generator -#+begin_src python :noweb yes :exports none +#+begin_src python :noweb yes text=""" case {Dim}: return qmckl_slagel_splitting_{Dim}( @@ -1123,12 +1123,13 @@ qmckl_exit_code qmckl_slagel_splitting( uint64_t* later, double* determinant) { + #ifdef HAVE_HPC if (LDS == (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH) { // Most cases switch (Dim) { <> } } - else { // When SIMD_LENGTH > 1, called with LDS == Dim AND Dim != (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH) + else { // Updating smaller sub-matrix return qmckl_slagel_splitting_hpc( LDS, Dim, @@ -1142,7 +1143,33 @@ qmckl_exit_code qmckl_slagel_splitting( later, determinant); } - + #else + // return qmckl_slagel_splitting_doc( + // LDS, + // Dim, + // N_updates, + // Updates, + // Updates_index, + // breakdown, + // Slater_inv, + // later_updates, + // later_index, + // later, + // determinant); + return qmckl_slagel_splitting_hpc( + LDS, + Dim, + N_updates, + Updates, + Updates_index, + breakdown, + Slater_inv, + later_updates, + later_index, + later, + determinant); + #endif + return QMCKL_FAILURE; } #+end_src