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.
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
multiple of ~SIMD_LEGTH~.
multiple of ~SIMD_LENGTH~.
#+begin_src c :tangle (eval c) :comments org
qmckl_exit_code qmckl_sm_naive_hpc(
const qmckl_context context,
@ -525,9 +525,9 @@ text="""
result = []
for Dim in <<kernel_generator_range>>:
Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) )
result.append(text.replace("{Dim}",Dim))
return '\n'.join(result)
return ''.join(result)
#+end_src
Python script that generated C switch cases that call individual kernel instances.
@ -541,14 +541,13 @@ case {Dim}:
Updates_index,
breakdown,
Slater_inv,
determinant);
"""
determinant);"""
result = []
for Dim in <<kernel_generator_range>>:
Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) )
result.append(text.replace("{Dim}",Dim))
return '\n'.join(result)
return ''.join(result)
#+end_src
#+begin_src c :tangle (eval c) :comments org :noweb yes
@ -1225,7 +1224,7 @@ for Dim in <<kernel_generator_range>>:
Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) )
return '\n'.join(result)
return ''.join(result)
#+end_src
#+NAME:slagel_splitting_switch-case_generator
@ -1244,14 +1243,13 @@ case {Dim}: {
later,
determinant);
break;
}
"""
}"""
result = []
for Dim in <<kernel_generator_range>>:
Dim=str(Dim)
result.append(text.replace("{Dim}",Dim) )
return '\n'.join(result)
return ''.join(result)
#+end_src
#+begin_src c :tangle (eval c) :comments org :noweb yes
@ -1603,10 +1601,10 @@ qmckl_exit_code qmckl_sm_splitting (
double* determinant );
#+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:
#+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 (
const qmckl_context context,
const uint64_t LDS,