1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-07-22 18:57:40 +02:00

Done with splitting doc.

This commit is contained in:
Francois Coppens 2023-02-27 12:04:04 +01:00
parent 1640eb60f9
commit b01c7c306b

View File

@ -371,7 +371,7 @@ include situations where one wants to apply updates to a square submatrix of the
full matrix. full matrix.
It takes advantage of memory aligned data and assumes no data dependencies It takes advantage of memory aligned data and assumes no data dependencies
inside the loops. The loops are fully vectorised whenever ~Dim~ is an integer inside the loops. The loops are fully vectorised whenever ~Dim~ is an integer
multiple of ~SIMD_LEGTH~. multiple of ~SIMD_LENGTH~.
#+begin_src c :tangle (eval c) :comments org #+begin_src c :tangle (eval c) :comments org
qmckl_exit_code qmckl_sm_naive_hpc( qmckl_exit_code qmckl_sm_naive_hpc(
const qmckl_context context, const qmckl_context context,
@ -527,7 +527,7 @@ for Dim in <<kernel_generator_range>>:
Dim=str(Dim) Dim=str(Dim)
result.append(text.replace("{Dim}",Dim)) result.append(text.replace("{Dim}",Dim))
return '\n'.join(result) return ''.join(result)
#+end_src #+end_src
Python script that generated C switch cases that call individual kernel instances. Python script that generated C switch cases that call individual kernel instances.
@ -541,14 +541,13 @@ case {Dim}:
Updates_index, Updates_index,
breakdown, breakdown,
Slater_inv, Slater_inv,
determinant); determinant);"""
"""
result = [] result = []
for Dim in <<kernel_generator_range>>: for Dim in <<kernel_generator_range>>:
Dim=str(Dim) Dim=str(Dim)
result.append(text.replace("{Dim}",Dim)) result.append(text.replace("{Dim}",Dim))
return '\n'.join(result) return ''.join(result)
#+end_src #+end_src
#+begin_src c :tangle (eval c) :comments org :noweb yes #+begin_src c :tangle (eval c) :comments org :noweb yes
@ -1225,7 +1224,7 @@ for Dim in <<kernel_generator_range>>:
Dim=str(Dim) Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) ) result.append(text.replace("{Dim}",Dim) )
return '\n'.join(result) return ''.join(result)
#+end_src #+end_src
#+NAME:slagel_splitting_switch-case_generator #+NAME:slagel_splitting_switch-case_generator
@ -1244,14 +1243,13 @@ case {Dim}: {
later, later,
determinant); determinant);
break; break;
} }"""
"""
result = [] result = []
for Dim in <<kernel_generator_range>>: for Dim in <<kernel_generator_range>>:
Dim=str(Dim) Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) ) result.append(text.replace("{Dim}",Dim) )
return '\n'.join(result) return ''.join(result)
#+end_src #+end_src
#+begin_src c :tangle (eval c) :comments org :noweb yes #+begin_src c :tangle (eval c) :comments org :noweb yes
@ -1603,10 +1601,10 @@ qmckl_exit_code qmckl_sm_splitting (
double* determinant ); double* determinant );
#+end_src #+end_src
#+CALL: generate_c_header(table=qmckl_sm_splitting_args,rettyp=get_value("CRetType"),fname="qmckl_sm_splitting_hpc") #+CALL: generate_private_c_header(table=qmckl_sm_splitting_args,rettyp=get_value("CRetType"),fname="qmckl_sm_splitting_hpc")
#+RESULTS: #+RESULTS:
#+begin_src c :tangle (eval h_func) :comments org #+begin_src c :tangle (eval h_private_func) :comments org
qmckl_exit_code qmckl_sm_splitting_hpc ( qmckl_exit_code qmckl_sm_splitting_hpc (
const qmckl_context context, const qmckl_context context,
const uint64_t LDS, const uint64_t LDS,