Commit Graph

190 Commits

Author SHA1 Message Date
Francois Coppens
0614971437 More minor bug fixes 2021-09-21 14:20:41 +02:00
Francois Coppens
c9d1abd29d Fixed minor bug 2021-09-21 13:42:44 +02:00
Francois Coppens
177411f472 Removed binary file. 2021-09-21 12:30:59 +02:00
Francois Coppens
71e7fcc1b3 Added test that uses SMW kernes in QMCkl from Fortran. 2021-09-21 12:30:43 +02:00
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
Francois Coppens
6ce2055e59 * Removed dependency on qmckl_threshhold() and the accompanying preprocessor definition.
The break-down threshold now has to be passed explicitly as a function argument.
* Break-down threshold must now be passed on the command line together with the residual threshold.
2021-07-26 17:48:52 +02:00
Francois Coppens
7fb5ead349 Added and tested Woodbury 3x3 kernel to QMCkl.
Residual = wb3 14 9.92936e-07 1.90518e-11
    ok -- cycle 14

    Residual = qmckl_wb3 14 9.92936e-07 1.90518e-11
    ok -- cycle 14.
2021-07-22 11:44:37 +02:00
Francois Coppens
e188871df4 Fixed unsigned int/uint64_t/H5::PredType::STD_U32LE problem in qmckl_test_h5.cpp that caused the segmentation faults due to array indices running out of bounds. Naive Sherman-Morrison and Woodbury 2x2 kernels are working correctly from QMCkl with good accuracy.
Residual = sm1 23 2.665e-07 5.85161e-13
ok -- cycle 23
Residual = qmckl_sm1 23 2.665e-07 5.85161e-13
ok -- cycle 23
Residual = wb2 23 2.665e-07 5.85161e-13
ok -- cycle 23
Residual = qmckl_wb2 23 2.665e-07 5.85161e-13
ok -- cycle 23
2021-07-22 10:45:21 +02:00
Francois Coppens
675f5bef41 Changes in qmckl 2021-07-21 17:40:07 +02:00
Francois Coppens
e314987bb7 Added Woodbury 2x2 to QMCkl test program tests/qmckl_test_h5.cpp. For now it crashes with a segmentation fault when run on a cycle with 2 updates (qmckl_test_h5 wb2 3 3 1e-3 1) . 2021-07-21 17:37:21 +02:00
Francois Coppens
d4cb4afb85 - Cleaned up unnecessary symlinks
- Switched Intel compiler back to icpx
2021-07-21 16:32:13 +02:00
Francois Coppens
b9cc63cf8c Fixed test so it uses the qmc=chem dataset. Test passes but segfaults on cycles with more than one update. 2021-07-21 16:25:02 +02:00
François Coppens
4f29412bbb
Merge pull request #1 from pablooliveira/qmckl_integration
Fix linking problem against libqmckl
2021-07-21 13:19:04 +02:00
Pablo Oliveira
0f7d613956 Fix linking problem against libqmckl 2021-07-21 12:24:01 +02:00
Francois Coppens
b7764bb229 Trying to fix linking against QMCkl. 2021-07-21 11:48:32 +02:00
Francois Coppens
8961f78ea2 - Added a new test program tests/qmckl_test_h5.cpp that uses SM1 (qmckl_sherman_morrison_c) from the QMCkl library.
- Added build entry in Makefile for tests/qmckl_test_h5.cpp. #25
2021-07-20 16:58:04 +02:00
Francois Coppens
0849e23100 New commits. See QMCkl repo. 2021-07-19 14:51:14 +02:00
Francois Coppens
579bb50dca Added QMCkl as a git submodule in /home/fcoppens/code/Sherman-Morrison/qmckl. #25 2021-07-19 14:33:25 +02:00
François Coppens
5ca2ac4d5c
Merge pull request #51 from fmgjcoppens:qmckl_integration
qmckl_integration
2021-07-19 08:17:01 +02:00
Francois Coppens
2ec8fb278c Minor modifications to test programs. 2021-07-17 11:40:59 +02:00
François Coppens
f10502da9d Cleaning 2 2021-07-15 18:15:46 +02:00
François Coppens
3c87cb311e Simplified SM2(...) {...} 2021-07-15 18:14:47 +02:00
François Coppens
2a39aabaf0 Cleanup 1 2021-07-15 17:56:33 +02:00
François Coppens
08e4e56e50
Merge pull request #50 from fmgjcoppens/woodbury-perf-tweaks
More performance enhancements to WB2 and WB3.
2021-07-12 16:39:47 +02:00
Francois Coppens
bff7e0c389 More performance enhancements to WB2 and WB3. 2021-07-12 16:36:42 +02:00
François Coppens
05473c81d4
Merge pull request #49 from fmgjcoppens/optimise_wb3
Woodbury 3x3 optimisations
2021-07-12 08:20:19 +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
Pablo Oliveira
f98b4f926b Define HDF5_CXX 2021-07-09 16:54:37 +02:00
François Coppens
bc0cd03f02
Merge pull request #48 from fmgjcoppens/cycles_from_file 2021-07-09 16:09:24 +02:00
François Coppens
4f0aaa5763 Cosmetics 2021-07-09 16:00:29 +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
99fcaa60b6
Merge pull request #47 from pablooliveira/optimize-wb2
Optimize WB2 by inlining matmuls and simplifying copies
2021-07-08 14:26:00 +02:00
Pablo Oliveira
c30967e63d Optimize WB2 by inlining matmuls and simplifying copies 2021-07-08 12:53:50 +02:00
François Coppens
61df6e2827
Merge pull request #46 from fmgjcoppens/bug/woodbury
Solved bug in Woodbury and SM/WB mix kernels
2021-07-08 11:15:59 +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
François Coppens
6f282f329c
Merge pull request #45 from fmgjcoppens/opt_UV
Optimised matrix multiplication with V
2021-07-02 11:12:43 +02:00
François Coppens
f6f8746bef Optimised matrix multiplication with V. 2021-07-01 13:44:28 +02:00
François Coppens
e3dc3632a4
Merge pull request #44 from fmgjcoppens:cleanup
SMWB cleanup & performance measurements
2021-06-23 17:40:33 +02:00
François Coppens
7b9b176545 - Replaced the copy-arrays in the combined SMWB kernels with pointers
- Added loop in test_cycle() to repeat a single update cycle n-times for performance testing.
2021-06-23 17:28:29 +02:00
François Coppens
a4397f1496
Merge pull request #43 from fmgjcoppens/woodbury
Woodbury cleanup
2021-06-21 14:44:05 +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
Aurélien Delval
4b34fd7e17
Merge pull request #42 from PurplePachyderm/dev
Remove source code of vfc_ci and improve vfc_test_h5.cpp
2021-06-21 11:44:15 +02:00
Aurélien Delval
0114fd7b14 Remove source code of vfc_ci and improve vfc_test_h5.cpp
Since vfc_ci has been merged wih the main verificarlo repository and is
now available in Verificarlo's Docker, the source code of vfc_ci can
now be removed.

Also, vfc_test_h5.cpp has been modified so that every algorithm is
called directly. This results in a much shorter vfc_tests_config.json
since we don't need to vall vfc_test_h5 with all algorithms as
arguments.
2021-06-17 16:50:42 +02:00
François Coppens
cb8cb2c426
Merge pull request #41 from fmgjcoppens/woodbury
Corrected tiny bug in Verificarlo makefile.
2021-06-15 12:21:46 +02:00
Francois Coppens
8e250ae39f Corrected tiny bug in Verificarlo makefile. 2021-06-15 12:18:49 +02:00
François Coppens
8dac636c94
Merge pull request #40 from fmgjcoppens/woodbury
Woodbury  2x2 and 3x3 kernels + 
Unified Sherman-Morrison-Woodbury kernel (SMWB1).
2021-06-15 12:02:34 +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
François Coppens
b6efc97233 Woodbury 2x2 kernel fixed and working. 2021-06-14 15:05:39 +02:00
Francois Coppens
573947fe2d Woodbury debugging... 2021-06-11 08:46:39 +02:00