1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-07-03 18:06:07 +02:00
Commit Graph

93 Commits

Author SHA1 Message Date
Francois Coppens
b01c7c306b Done with splitting doc. 2023-02-27 12:04:04 +01:00
Francois Coppens
1640eb60f9 Changed argument order. 2023-02-27 11:29:01 +01:00
Francois Coppens
656d268187 qmckl_sm_splitting_doc kernel works. 2023-02-26 12:34:10 +01:00
Francois Coppens
8e2674a3b2 reorder 2023-02-26 12:34:10 +01:00
Francois Coppens
7a97aa4a77 Fixed Fortran function call bug. 2023-02-26 12:34:10 +01:00
Francois Coppens
8216f682b3 Strange Fortran type error... 2023-02-26 12:34:10 +01:00
Francois Coppens
8ba882675e Renamed function prefixes. 2023-02-26 12:34:10 +01:00
Francois Coppens
5e5c15a09d - Added qmckl_context to Slagel Splitting kernel
- Renamed it to Sherman-Morrison Splitting Core.

- Sherman-Morrison Splitting Core now callable on its own.
    User is responsible for what to do with the output data.

- Added default switch cases with asserts to generate crash with message
    if a template for a specific size is missing.

- Added switch breaks to prevent the default case to always execute and
    make the kernel crash at the assert.

- Reorganisded the Sherman-Morrison Splitting kernel so that the HPC
    variant always calls the Core HPC variant and not the generec
    variant and make duplicate decisions.
2023-02-26 12:34:10 +01:00
Francois Coppens
1ee9635590 Added SM Splitting with doc version in Fortran skelleton plus Fortran/C interface. 2023-02-16 14:54:59 +01:00
Francois Coppens
181f662c68 Added macro HPC/DOC switch 2023-02-15 19:03:11 +01:00
Francois Coppens
4f0bdda4ff ...and the Fortran interfaces to the C-functions. 2023-02-15 18:49:12 +01:00
Francois Coppens
54a51b6ecc Added Slagel splitting back + pedagogical skeleton function and interface. 2023-02-15 18:41:53 +01:00
Francois Coppens
c07553480c Pedagogical Naive kernel works. 2023-02-15 11:46:48 +01:00
Francois Coppens
87d6acb49a Adding documentation to ORG file. 2023-02-13 17:50:20 +01:00
Francois Coppens
42f4556fa3 Adding documentation to ORG file. 2023-02-13 17:49:18 +01:00
Francois Coppens
3482c832ac Adding documentation to ORG file. 2023-02-13 17:48:31 +01:00
Francois Coppens
707fa17e09 Adding documentation to ORG file. 2023-02-13 17:44:11 +01:00
Francois Coppens
c0d4f766b1 Reorganising ORG file. 2023-02-13 15:08:37 +01:00
Francois Coppens
6ad4aabdfa Still working 2023-02-10 17:16:08 +01:00
Francois Coppens
cc17b79316 Still working 2023-02-10 16:45:22 +01:00
Francois Coppens
06127f24cb added return value to fortran interface. 2023-02-02 17:34:33 +01:00
Francois Coppens
8a89003bf2 Commented call to _doc kernel. 2023-02-02 17:23:14 +01:00
Francois Coppens
d3aebe52ff Started adding the pedagogical kernels for the HAVE_DOC builds. 2023-02-02 17:04:34 +01:00
Francois Coppens
2e45927e04 Added AVX2 detection to autoconfig script.
Fixed minor SIMD bug in tests.
2023-01-30 17:35:11 +01:00
Francois Coppens
31ea30cdc3 Added Slagel Splitting kernel template generator. 2023-01-27 19:33:27 +01:00
Francois Coppens
6c0430a509 Added Woodbury 3x3 kernel template generator. 2023-01-27 17:41:32 +01:00
Francois Coppens
549413abca Pulled out kernel template range so it can be set at the top,
instead of at 8 different places throughout the code.
2023-01-27 15:24:52 +01:00
Francois Coppens
c58cf3c7f6 Added Woodbury 2x2 kernel template generator. 2023-01-27 14:31:25 +01:00
Francois Coppens
2d02b8cd63 Trivial rename 2023-01-27 14:31:25 +01:00
Francois Coppens
5c0024f3f2 Return QMCKL_FAILURE if return code from qmckl_slagel_splitting equals QMCKL_FAILURE 2023-01-27 11:13:57 +01:00
François
4a9cecff61 Removed unnecessary __restrict keywords from public exposed functoin headers. 2023-01-26 11:50:58 +01:00
Francois Coppens
70241915aa Throw away some return values that cause 'variable not used' warnings. 2023-01-25 19:16:46 +01:00
Francois Coppens
c54521a1f8 - Added test data for SIMD_LENGTH values 1, 2, 4, 8.
- Added macros that automatically select the correct test data for a
  given value of SIMD_LENGTH.

- Updated the kernel test code to deal correcly with zero padded
  matrices.

- Fixed kernels that genereated false negatives due to bugs in the
  kernels that surfaced only after feeding them padded matrices.
2023-01-25 18:55:26 +01:00
Francois Coppens
9c608166ec Added compiler dependent macros that define vectorization pragmas. 2023-01-20 14:50:03 +01:00
Francois Coppens
fcf0907b82 Added kernel template generator with padding based on SIMD_LENGTH.
Tested with 21x21 square matrices with SIMD_LENGTH = 4.
2023-01-20 14:50:03 +01:00
Francois Coppens
792e430f66 Return statement in wrong scope. 2022-12-16 12:04:42 +01:00
Francois Coppens
0415b68513 Added QMCkl NULL-context checking in template. 2022-12-16 11:43:52 +01:00
Francois Coppens
1af5ddc76c Added partial Python C-template generation for the qmckl_sherman_morrison kernel. 2022-12-15 16:14:57 +01:00
94035929e4 Fixed cppcheck 2022-04-05 11:45:02 +02:00
5abcd8c469 Moved the Shermann-Morrison tests out of org-mode 2021-11-25 15:21:44 +01:00
Francois Coppens
2536c59432 Pass extra LDS parameter to allow for rectangular Slater matrices. 2021-10-29 16:32:12 +02:00
Francois Coppens
65974c50aa Added determinant to Fortran interface 2021-10-29 16:31:54 +02:00
f8e80b2113 Remove unused variables 2021-10-14 18:54:48 +02:00
Pablo de Oliveira Castro
9c2d01b33d
Typo in orgmode table 2021-10-13 13:19:35 +02:00
Pablo Oliveira
1859a2b6d7 Fix indentation 2021-10-13 12:03:18 +02:00
Pablo Oliveira
4f2e8b6d8e Update determinant in the SM+WB splitting versions 2021-10-13 11:55:20 +02:00
Pablo Oliveira
9ca88679f9 Update determinant in Woodbury 3x3 2021-10-13 10:51:42 +02:00
Pablo Oliveira
94e9b13963 Update determinant in Woodbury 2x2 and fix tests 2021-10-13 10:45:54 +02:00
Pablo Oliveira
b05390a273 Update determinant in qmckl_sherman_morrison 2021-10-13 10:31:24 +02:00
Francois Coppens
cd978e31d7 Repeated fixes for the rest of the kernels.
- Context no longer corrupted due to inconsistent interface
- No longer any need for manual explicit trailing underscore in the function names of the C-source to compensate for the unnecessary C-interface in fortran.
- All tests pass.
2021-10-09 22:23:12 +02:00