Commit Graph

152 Commits

Author SHA1 Message Date
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
Pablo de Oliveira Castro
65bb0fd0b5
Merge pull request #39 from PurplePachyderm/dev
Update vfc_ci test variables and minor bugfix in HTML report
2021-05-25 10:30:24 +02:00
Aurélien Delval
375f4cd200 Correct some widget in the report and test config 2021-05-25 10:08:04 +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
8883bb3372
Merge pull request #38 from fmgjcoppens:fix/makefile
Fixed Makefiles
2021-05-21 16:38:23 +02:00
Francois Coppens
68584d9c99 - Fixed bug in Makefile so everything compiles against MKL for all compilers.
- Updates Makefile.verificarlo to enable linking against MKL
2021-05-21 16:19:08 +02:00
François Coppens
5c9b9f359c
Merge pull request #37 from fmgjcoppens:add/lapack
add/lapack
2021-05-21 12:00:55 +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
ab661ad785
Merge pull request #35 from fmgjcoppens/fix/abs2fabs
Fix/abs2fabs
2021-05-19 15:27:43 +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
François Coppens
0984682bdf
Merge pull request #34 from fmgjcoppens/fix/slagel_splitting
Various fixes
2021-05-10 14:29:02 +02:00
Francois Coppens
adf893ed6f - Various fixes
- Merged MaponiA3 and MaponiA3S into one file.
2021-05-07 17:11:04 +02:00
Aurélien Delval
99b297435c Add squared Frobenius norm to vfc_test_h5
Besides the new variable addition, vfc_test_h5 has also be made simpler
by executing directly all the possible lagorithms (instead of requiring
argument). This results in a much more concise vfc_tests_config.json,
since only one executable invocation is required.
2021-05-07 13:23:50 +02:00
Pablo de Oliveira Castro
fb6153ba68
Merge pull request #33 from PurplePachyderm/dev
Updated vfc_tests_config.json with SM4
2021-05-06 11:42:23 +02:00
Aurélien Delval
348fe14dd0 Updated vfc_tests_config.json with SM4
Because the algorithm to use is passed as a parameter to vfc_tests_h5,
it was necessary to update the tests configuration to add a new
execution.
2021-05-06 11:37:32 +02:00
Pablo de Oliveira Castro
8595a598cc
Merge pull request #32 from pablooliveira/sm4
First implementation of SM4
2021-05-06 11:06:56 +02:00
Pablo Oliveira
ada8cd6888 Fix typo 2021-05-06 11:01:07 +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
François Coppens
ff1f5655e5
Merge pull request #31 from fmgjcoppens/add/slagel_to_ma3
Adding Slagel-splitting to Maponi algorithm 3
2021-05-05 12:22:39 +02:00
François Coppens
3ee4d3b56d - Added a small 3x3 example that will always become singular regardles the order of the applied updates. This example is added to test Maponi A3 augmented with Slagel-splitting.
- Slagel-splitting in Maponi A3 is now working. A thourough analysis on the QMC=Chem datasets still has te be done.
- Acceptance tollerance  in 'test_h5' on the residuals can be set at runtime now.
2021-05-05 11:59:00 +02:00
Francois Coppens
e3815267fb * Added SM{1,2,3} algorithms to Fortran module
* Deleted final ylk array in MaponiA3(S)
* Output of Valgrind seem to suggest there are no major memory problems.
2021-05-05 11:59:00 +02:00
François Coppens
fb3ed9ce0c In Maponi A3, converted divisions into multiplications. 2021-05-05 11:59:00 +02:00
François Coppens
af64b91ca6 Started debugging Slagel-splitting in MaponiA3. 2021-05-05 11:59:00 +02:00
François Coppens
7cef89e2b5 Slagel-splitting implemented but not tested yet. 2021-05-05 11:59:00 +02:00
Pablo de Oliveira Castro
82de072bed
Merge pull request #30 from PurplePachyderm/dev
Integration of Verificarlo CI
2021-05-04 15:59:42 +02:00
Aurélien Delval
c322f194c7 Install HDF5 dependencies in CI 2021-05-03 16:57:51 +02:00
Aurélien Delval
eb75c55982 [auto] Set up Verificarlo CI on this branch 2021-05-03 16:35:24 +02:00
Aurélien Delval
624699e716 Update tests config with correct makefile 2021-05-03 16:33:39 +02:00
Aurélien Delval
44f0fc1f51 Update vfc_ci code 2021-05-03 15:47:44 +02:00
Aurélien Delval
d81777e347 Add CI dataset and the tool to generate it.
Since the dataset must be accessible from the CI runner, the best
solution is probably to commit a small dataset containing only the
required cycles. It's included in this commit, and can be generated by
extract-from-h5.py using the same cycles list as the one used by
vfc_test_h5.cpp.

Moreover, the probes exported by vfc_test_h5.cpp are now 0-padded, which
will result in a better sorting in the results.
2021-05-03 13:59:43 +02:00
Aurélien Delval
18d1e2b785 Move Makefile.vfc_ci to Makefile.verificarlo
With the current setup, the CI should be able to be deployed correcly.

However, we still ned to find the best solution to pull the dataset on
the runner so the tests can be executed on it.
2021-04-30 11:22:22 +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
François Coppens
bd9bd62fe9
Merge pull request #29 from fmgjcoppens/prep
Various small unrelated modifications
2021-04-19 15:22:39 +02:00