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
Francois Coppens
6437591b66
Fixed
...
- context (and other variables) passing between C-C. Can now passed by value.
- removed unnecessary Fortran C-interface; trailing underscore in C-function no longer necessary
- renamed C-function and Fortran-interface to C-function from qmckl_sherman_morrison_c_/qmckl_sherman_morrison to qmckl_sherman_morrison/qmckl_sherman_morrison
- removed unneccesary artificial pointer variables in qmckl_sherman_morrison and pass them by value.
2021-10-08 18:03:11 +02:00
af54e7a7dc
Checking context in SM
2021-10-06 23:44:06 +02:00