mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-12-22 20:36:01 +01:00
Done with splitting doc.
This commit is contained in:
parent
1640eb60f9
commit
b01c7c306b
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user