1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-30 00:44:52 +02:00
Commit Graph

631 Commits

Author SHA1 Message Date
Aurélien Delval
78fdbfca77 Increase the value of epsilon when vfc_ci is enabled
The previous value of epsilon, which was pulled form the qmckl_context
and reused fot the qmckl probes, was arout 4.10^-16. It's a good value
to use for the tests with IEEE arithmetic, however, MCA introduces some
noise which is at this order of magnitude, and caused one probe in
particular to fail, while its accuracy was actually satisfying.

This value is now multiplied by 16 if VFC_CI is defined (to ask for 4
less significant digits in base 2), which makes more sense for MCA.
2021-09-06 16:34:48 +02:00
236307c4d4
Merge pull request #30 from v1j4y/ao_mo_vj
AO and MO related functions.
2021-09-06 09:48:03 +02:00
v1j4y
d704b19c13 Some improvements to the description. 2021-09-06 07:45:10 +02:00
Francois Coppens
ef04e3df9b Added realistic tests to all kernels. Everything compiles fine. 2021-09-05 11:22:41 +02:00
Francois Coppens
435628a5d0 Finished first draft of the documentation 2021-09-02 17:56:42 +02:00
Aurélien Delval
703031b16f Fix indentation of lists in documentations
Line breaks in the lists of the documentation appeared in the file
preview. They have been removed so that all of its text belongs
correctly to eac bullet point.
2021-09-02 11:56:56 +02:00
Francois Coppens
abb3461893 Put info in the wrong place. 2021-09-01 16:10:59 +02:00
Francois Coppens
bbd20ce87a More documentation added. 2021-09-01 16:06:51 +02:00
Francois Coppens
9e58ab4bb9 Started adding anf polishing documentation. 2021-09-01 15:29:14 +02:00
Aurelien Delval
e3ec28ad40 Add qmckl_probes description to the code documentation 2021-08-31 09:18:17 +00:00
Aurelien Delval
e75d249474 Correctly ignore problematic checks for vfc_ci
Some checks in the AO test were not correctly ignored by the
preprocessor when vfc_ci support was enabled. This caused the test to
fail unexpectedly and made it impossible to get data from it in vfc_ci.
2021-08-30 15:59:11 +00:00
Aurelien Delval
c32d7fb5ee Move qmckl_probes mod file to another CLEADIST statement 2021-08-30 11:25:16 +00:00
Aurélien Delval
e750b72010 Minor dependency fix to Makefile.am 2021-08-27 14:06:28 +02:00
Aurelien Delval
5e18523274 Properly comment qmckl_probes
Add comment to explicit the use of qmckl_probes and provide a link to
Verificarlo's documentation
2021-08-26 09:50:05 +00:00
Aurelien Delval
291ea5441d Correctly ignore asserts for vfc_ci
Some asserts where not correctly ignored with vfc_ci and caused tests to
exit prematurely when compiling the library with Verificarlo and using
stochastic backends.
2021-08-24 19:16:49 +00:00
Aurelien Delval
26ca2d3907 Modify behaviour of QMCkl probes when VFC_CI is disabled
Now, probes witth absolute check and relative checks perform the
verification with the expected/actual value as expected and returns a
boolean to indicate the result.
2021-08-20 15:11:28 +00:00
PurplePachyderm
f59a6385ee Correctly wrap qmckl_dump_probes in preprocessor guard 2021-08-19 12:47:50 +02:00
Francois Coppens
978e20ac42 Removed local context var declarations from kernels and pass along context from passed arguments. #25 2021-07-30 11:48:08 +02:00
Aurélien Delval
fb3eeaaa5d Add pkg-config install in CI (should fix issues)
Installing pkg-config in the workflowconfig file should fix configure
issues, and allow the CI to succeed.
2021-07-30 11:10:16 +02:00
Francois Coppens
a5e58c80d7 Passing argument context instead of creating and passing a locally created context. #25 2021-07-29 11:48:38 +02:00
Aurélien Delval
f43600f3d4 Merge branch 'master' of https://github.com/PurplePachyderm/qmckl 2021-07-27 15:56:47 +02:00
Aurélien Delval
eb8d75c247 Add accuracy target in distance and AO probes
The target has been set to 1d.-14 (or epsilon), because this was the value already
used in the tests. However this might not be the best choice with the
non-deterministic backend, so it might be necessary to adjust it in the
future.

Also, the expectedValue argument has been set to 0 since it is not used.
(the tests checks have already been written anyway)
2021-07-27 15:50:33 +02:00
vijay gopal chilkuri
cb522f7e1d Added verificarlo based compilation info in TODO. #29 2021-07-27 12:34:50 +02:00
Aurélien Delval
b57ea3f1a6 Link libvfc_probes and libvfc_probes_f when CI support enabled
Those 2 libraries used to be linked in an IF statement of the
Makefile.am when the support for Verificarlo CI was enabled. This seemed
to have beeb removed accidentally when merging changes from the main repository.
2021-07-27 11:23:30 +02:00
Francois Coppens
afc6e115d3 Resolved compiler warnings about initialising 'objects' with 'const objects'. #25 2021-07-27 08:48:28 +02:00
Francois Coppens
0e4ea1f81b Fixed tests. Everything compiles successfully and passes all tests. #25 2021-07-27 06:59:44 +02:00
Francois Coppens
41be86fe59 Removed dependency on qmckl_threshhold() and the accompanying preprocessor definition. The break-down threshold now has to be passed explicitly as a function argument. #25 2021-07-26 17:41:21 +02:00
Francois Coppens
decd977fff Added mixed kernel with Woodbury 3x3 and update splitting. #25 2021-07-26 12:19:29 +02:00
Aurélien Delval
361caba901
Delete htmlize.el 2021-07-26 09:31:38 +02:00
Aurélien Delval
4c554ce5e4
Delete config.h.in~ 2021-07-26 09:31:06 +02:00
Aurélien Delval
424afc4fc7 Create symbolic link to /usr/lib/python3 instead of alias 2021-07-26 08:26:15 +02:00
Aurélien Delval
f444dd7e75 Run apt upgrade in CI workflow before emacs install 2021-07-26 08:20:06 +02:00
Aurélien Delval
9714ab095e Tentative to fix CI
- Create alias to python command
- Install emacs in workflow
2021-07-26 08:12:48 +02:00
Aurélien Delval
820ed0ec34 [auto] Set up Verificarlo CI on this branch 2021-07-26 07:44:18 +02:00
Aurélien Delval
66a35e2fc0 Fix Makefile.am and change probes name 2021-07-25 15:36:14 +02:00
Aurélien Delval
e443790806 Place/rename new probes in both distance and AO tests 2021-07-24 13:19:09 +02:00
vijay gopal chilkuri
d2eb9f5a5d Added interfaces and fortran versions and fixed return for smw2s. #25 2021-07-23 19:58:24 +02:00
Francois Coppens
159fb149a4 Added Woobury 3x3, 2x2 and Sherman-Morrison-Splitting mixed kernels. Compiles fine but test still fail. #25 2021-07-23 18:28:25 +02:00
Aurélien Delval
ce24885979 Correct tests and put C(2,2) in distance probes
Since we don't need to place probs on all matrices, a simple solution
seems to monitor one element of the matrix. A solution could be to
compute a matrix norm / residual but this would make the tests more
complex.
2021-07-23 15:19:12 +02:00
vijay
3f4ace0425
Merge branch 'master' into sherman-morrison-woodbury 2021-07-23 15:08:31 +02:00
Aurélien Delval
cbf1bd8de8 Fix replace error in AO 2021-07-23 12:28:27 +02:00
Aurélien Delval
b1699d58c9 Merge branch 'TREX-CoE-master' 2021-07-23 12:27:41 +02:00
Aurélien Delval
68dc374422 Merge branch 'master' of https://github.com/TREX-CoE/qmckl into TREX-CoE-master 2021-07-23 12:27:18 +02:00
Aurélien Delval
145f4fba40
Add the qmckl_probes interface (#2)
* comment

* Update distance test code

The distance test has been updated to the latest version, with a first attempt at using vfc_probes inside it

* Functional implementation of vfc_probes in the distance tests

This commit has the first functional vfc_ci tests. Verificarlo tests
should be written over the existing tests, and they can be enabled with
the following configure command:

QMCKL_DEVEL=1 ./configure --prefix=$PWD/_install --enable-maintainer-mode --enable-vfc_ci CC="verificarlo-f -Mpreprocess -D VFC_CI" FC="verificarlo-f -Mpreprocess -D VFC_CI" --host=x86_64

The --enable-vfc_ci flag will trigger the linking of the vfc_ci
library. Moreover, as of now, the "-Mpreprocess" and "-D VFC_CI" flags
have to be specified directly here. There is probably an appropriate
macro to place those flags into but I couldn't find it yet, and could
only manage to build the tests this way.

When the VFC_CI preprocessor is defined, somme additional code to
register and export the test probes can be executed (see
qmckl_distance.org).

As of now, the tests are built as normal, even though they are expected
to fail :

make all
make check

From there, the test_qmckl_distance (and potentially the others)
executable can be called at will. This will typically be done
automatically by vfc_ci, but one could manually execute the executable
by defining the following env variables :

VFC_PROBES_OUTPUT="test.csv" VFC_BACKENDS="libinterflop_ieee.so"

depending on the export file and the Verificarlo backend to be used.

The next steps will be to define more tests such as this one, and to
integrate them into a Verificarlo CI workflow (by writing a
vfc_tests_config.json file and using the automatic CI setup
command).

* Error in FOrtran interface fixed

* Added missing Fortran interfaces

* Modify distance test and install process integration

All probes are now ignored using only the preprocessor (instead
of checking for a facultative argument) in the distance test.
Moreover,preprocessing can now be enabled correctly using FCFLAGS
(the issue seemed to come from the order of the arguments passed
to gfortran/verificarlo-f with the preprocessor arg having to come
first).

* Add vfc_probes to AO tests

vfc_probes have been added to qmckl_ao.org in the same way as
qmckl_distance.org, which means that it can be enabled or disabled at
compile time using the --enable-vfc_ci option.

qmckl_distance.org has been slightly modified with a better indentation,
and configure.ac now adds the "-D VFC_CI" flag to CFLAGS when vfc_ci is
enabled.

* Start work on the vfc tests config file and on a probes wrapper

The goal in the next few commits is to make the integration of
vfc_probes even easier by using a wrapper to vfc_probe dedicated to
qmckl. This will make it easier to create a call to vfc_probe that can be
ignored if VFC_CI is not defined in the preprocessor. Once this is done,
the integration will be completed by trying to create an actual workflow
to automatically build the library and execute CI tests.

* Moved qmckl_probes out of src

As of now, qmckl_probes have been moved to tools, and can be built via a
bash script. This approach seems to make more sense, as this should not
be a part of the library itself, but an additional tool to test it.

* Functional Makefile setup to enable qmckl_probes

The current setup builds qmck_probes by adding it to the main QMckl
libray (by adding it to the libtool sources). The Fortran interface's
module still need to be compiled separately.

TODO : Clean the build setup, improve integration in qmckl_tests and
update tests in qmckl_ao with the new syntax.

* New probes syntax in AO tests

* Clean the probes/Makefile setup

The Fortran module is now built a the same time than the main library.
The commit also adds a few fixes in the tests and probes wrapper.

Co-authored-by: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
2021-07-23 12:01:14 +02:00
Pablo de Oliveira Castro
e5806e676b
Make sure qmckl.h can be imported from C++ (#26)
When qmckl.h is included in a C++ file wrap the definitions in
an extern "C" block to avoid mangling.
2021-07-23 09:02:25 +02:00
vijay gopal chilkuri
90b6333560 Splitting tests bug fix. #25 2021-07-22 18:20:20 +02:00
Francois Coppens
e1b325ab18 Added Sherman-Morrison with update splitting. For now the headers for qmckl_slagel_splitting_c and qmckl_sherman_morrison_splitting_c are not generated. #25 2021-07-22 18:05:39 +02:00
Francois Coppens
c6d00d5c5b 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. #25
2021-07-22 11:41:47 +02:00
vijay gopal chilkuri
fdb8f5d50a changed unsigned int to uint64_t for consistency. #25 2021-07-22 09:59:02 +02:00
vijay gopal chilkuri
83dbab7f6b Try not to export org-mode lisp stuff. #25 2021-07-21 17:56:04 +02:00