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
Francois Coppens
61844da5d3
Corrected array initialisations.
2021-06-10 11:25:31 +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