Commit Graph

33 Commits

Author SHA1 Message Date
Francois Coppens
3a90248cc1 Cleanup and compiler flags. 2021-07-30 11:51:04 +02:00
Francois Coppens
74bb333de1 - Passing break-down threshold as a function argument
- Renaming kernels to correspond with the ones in QMCkl
- In the qmckl-version of the test program, chaning the way integer data is read from the HDF5 file.
2021-07-29 12:01:26 +02:00
François Coppens
2a39aabaf0 Cleanup 1 2021-07-15 17:56:33 +02:00
Francois Coppens
bff7e0c389 More performance enhancements to WB2 and WB3. 2021-07-12 16:36:42 +02:00
François Coppens
fa61b50bb0 - Optimize WB3 by inlining matmuls and simplifying copies
- Occasional code restyling with 'clang-formant --style=LLVM'.
2021-07-12 08:13:58 +02:00
Francois Coppens
43b996dad9 - Added tests/fnu_test_h5.cpp that takes its input cycle numbers from a file instead of from the command line.
- Suppressed all debug output so as to not polute performance measurements.
2021-07-09 14:30:37 +02:00
François Coppens
67f5379bea - Moved check on determinants in Woodbury kernels before inversion of B that was there by mistake.
- Split SM2 into SM2 and SM2star so that keeps all updates for later when used in combination with the Woodbury kernels to improve the numerical accuracy to the same level as that of SM2.
2021-07-07 12:06:31 +02:00
Francois Coppens
837e160f17 - Added various Sherman-Morrison-Woodbury kernels
- Separated debug information into 2 different debug levels.
2021-06-21 14:33:35 +02:00
Francois Coppens
22590b7684 * Woodburry 3x3 kernel fixed
* Written Unified Sherman-Morrison-Woodbury kernel that partitions
  the updates in blocks of 3 and tries them with Woodbury 3x3.
  The remainder of 2 or one are attempted with Woodbury 2x2 and SM2.

For now the unified kernel gives fails where pure SM2 does not.
I suspect there is something going wrong in how the updates are partitioned.
2021-06-15 11:53:04 +02:00
Francois Coppens
573947fe2d Woodbury debugging... 2021-06-11 08:46:39 +02:00
Francois Coppens
efe96cbeea First implementation of Woodbury 2x2 and 3x3 kernels. 2021-06-10 08:46:40 +02:00
François Coppens
288bc83e19 Created Woodbery kernel infrastructure and started wrinting Woodbery 2x2 kernel. 2021-06-04 16:50:49 +02:00
Aurélien Delval
b283f403dc Update Verificarlo CI test variables
Tests are now using squared Frobenius norm and res2
2021-05-25 09:56:34 +02:00
François Coppens
c8df88b4ef Made lapack/MKL inclusion in code dependent on preprocessor macro 'MKL'. Automatic build should now succeed. 2021-05-21 11:54:57 +02:00
François Coppens
6c9c68c93d Added LAPACK option to test_h5.cpp to compare residuals and number of operations. 2021-05-20 19:21:59 +02:00
François Coppens
17c8a1c7a0 Code restyled. Added restyling script. Code for determinant is not working because it gets stuck in an infinite recursion loop. 2021-05-19 15:23:19 +02:00
François Coppens
0e5bbbbffb Replaced inappropriate std::abs() occurences with std::fabs() in C++ code. 2021-05-12 16:11:47 +02:00
François Coppens
5693e177ba Re-applied code formatting on C++ code with clang-format --style=llvm. 2021-05-10 14:50:45 +02:00
Francois Coppens
adf893ed6f - Various fixes
- Merged MaponiA3 and MaponiA3S into one file.
2021-05-07 17:11:04 +02:00
Pablo Oliveira
f4becac4c0 First implementation of SM4
SM4: Sherman Morrison, mix between SM3 + SM2
Leave zero denominators for later (SM3), and when none are left then split (SM2)
2021-05-06 10:51:42 +02:00
Aurélien Delval
1d1da00931 Integration of vfc_ci
The vfc_ci tool has been directly added to the repository, since it's
not integrated into Verificarlo yet. The vfc_test_h5.cpp file defines a
test inspired by test_h5.cpp that reads a list of cycles and dump the
vfc_probes for these cycles.
2021-04-29 23:41:23 +02:00
Francois Coppens
b863d40c05 - Setting break-down threshold trough smvars.sh
- Fixed SM3 to escape infinite update-loop
2021-04-15 18:13:26 +02:00
Francois Coppens
e5648f7485 Ran: clang-format --style=LLVM on *.cpp and *.hpp files. 2021-04-15 14:38:42 +02:00
Francois Coppens
1201718f28 Preped files, headers, functions, test_h5 and Makefiles for MaponiA3S. 2021-04-14 17:18:31 +02:00
Francois Coppens
991f40a605 Moved common MaponiA3 functions to SM_Helpers.{cpp,hpp} to prepare for MaponiA3+Slagel splitting. 2021-04-14 16:19:49 +02:00
Francois Coppens
ab9d13180a Small restructuring and cleaning up spurious includes and and namespaces. 2021-04-14 15:32:54 +02:00
Pablo Oliveira
c10ded9cdd Add version name to tests 2021-03-15 16:00:16 +01:00
François Coppens
e18e80ff5c Removed matMul() from Helpers.hpp and renamed matMul2() to matMul(). 2021-03-10 15:27:53 +01:00
Francois Coppens
9c82092cff Removed dependence on a breakdown array. 2021-03-09 10:40:47 +01:00
Francois Coppens
3f60779700 Cleanup 2021-03-09 10:39:58 +01:00
François Coppens
983f87d504 Rewrote matMul function so it doesn't declare memory inside. 2021-03-09 10:39:58 +01:00
Pablo Oliveira
4bd61dd76c Add a standard Sherman-Morisson implementation
- It can serve as a baseline reference

- It can serve as a starting point for including the pivot
  and splitting techniques from Maponi and Slaggel without the full
  complexity of the MaponiA3 algorithm
2021-03-05 17:00:48 +01:00
François Coppens
5d4a7af01a File tree restructured. Written build script build.sh. TODO: convert buld script into Makefile. 2021-02-26 17:28:52 +01:00