1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-11-04 13:14:02 +01:00
Commit Graph

942 Commits

Author SHA1 Message Date
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
vijay gopal chilkuri
081e27dd92 Bug fix in tests. #25 2021-07-21 17:42:48 +02:00
Francois Coppens
11eee81f84 - Added Woodbury 2x2 to org-mode file. QMCkl compiles but the testsuite fails with a segementation fault. #25 2021-07-21 17:31:25 +02:00
vijay gopal chilkuri
04d2ec2d70 Added an example usage of qmckl_sherman_morrison function as a test. #25 2021-07-20 19:34:51 +02:00
vijay gopal chilkuri
6b847d6dd3 Everything comipiles smoothly. Fixed link issue. #25 2021-07-20 16:58:38 +02:00
Francois Coppens
7b2a8caeab - Added documentation to helper functions
- Removed redundant #include qmckl.h
- Commented out the #ifdef DEBUG ... #endif blocks
- Changed Sherman-Morrison break-down check to use qmckl_exit_code qmckl_sherman_morrison_threshold double* const thresh ). #25
2021-07-20 12:09:43 +02:00
Francois Coppens
f325f4feda - Replaced <cmath> with <math.h> and std::fabs() with fabs().
- Changed return values 'true' and 'false' to `QMCKL_SUCCESS` and `QMCKL_FAILURE`.
- Commented out the '#ifdef DEBUG ... #endif' blocks because debug messages are not implemented yet. #25
2021-07-20 11:40:27 +02:00
Francois Coppens
80c9a2291c Replaced <cmath> with <math.h> and std::fabs() with fabs() to be C-complient. #25 2021-07-20 11:15:33 +02:00
vijay gopal chilkuri
dcb4816941 Added threshold function. Tests still dont compile. #25 2021-07-20 10:51:21 +02:00
vijay gopal chilkuri
6e047046f4 Get the sherman morrison to compile. Tests still dont compile. #25 2021-07-19 18:25:10 +02:00
vijay gopal chilkuri
dce8cad154 Modified autogen functions to incorporate unsigned. #25 2021-07-19 18:24:19 +02:00
Francois Coppens
7849f510f4 Started integration of naive Sherman-Morrison in the org-mode file. #25 2021-07-19 17:39:01 +02:00
Francois Coppens
81f5696950 Changed internal functions to static functions. Changed function names to conform with QMCkl naming conventions. Removed irrelevant debug output. qmckl_sherman_morrison() now returns false if the denominator is too close to 0 and true if it is ok. #25 2021-07-19 16:15:28 +02:00
vijay gopal chilkuri
4e31dc4ac4 Added Tests block and set the noexport tags. #25 2021-07-19 17:34:47 +05:30
vijay gopal chilkuri
897eb3f34e Added call to generate_f_interface in template. #25 2021-07-19 17:31:34 +05:30
vijay gopal chilkuri
6c2866967d Added call to generate_c_interface in template. #25 2021-07-19 17:31:11 +05:30
vijay gopal chilkuri
36e414aacd Added call to generate_c_header to template. #25 2021-07-19 17:30:10 +05:30
vijay gopal chilkuri
b0fd86db40 Added missing org file. #25 2021-07-19 15:31:07 +05:30
vijay gopal chilkuri
269f8d33d2 Added template org file for Francois. #25 2021-07-19 15:29:32 +05:30
Francois Coppens
f873b36213 First stage of QMCkl integration of Sherman-Morrison-Woodbury kernels. 2021-07-19 09:55:58 +02:00
c8cad59922 Added Fortran interfaces 2021-07-19 09:26:05 +02:00
cdf92e2464 Added AO_factor to AOs 2021-07-13 09:54:43 +02:00
75a93d12c6 Added AO polynomials 2021-07-12 15:04:21 +02:00
fba34e4982 Addd AO functions 2021-07-09 00:45:17 +02:00
e8a5103c92 Changed order of indices in AOs 2021-07-08 19:25:15 +02:00
e39a27db08
Merge pull request #23 from v1j4y/jastrow_vj
Jastrow Factor
2021-07-08 08:57:48 +02:00
vijay gopal chilkuri
af978e1b03 Everything good. Ready for merge. #22 2021-07-08 12:22:28 +05:30
vijay gopal chilkuri
45bc54d0f9 Reinstated tests for een_rescaled_n. #22 2021-07-08 12:11:26 +05:30
vijay gopal chilkuri
bcba93ee7e Reinstated tests for een_rescaled_e. #22 2021-07-08 12:09:22 +05:30
vijay gopal chilkuri
c8aef0d9ac Reinstated tests for factor_en_deriv_e. #22 2021-07-08 12:07:13 +05:30
vijay gopal chilkuri
2cd5a31cba Fixed bug in type_nucl_vector dim. #22 2021-07-08 12:03:42 +05:30
vijay gopal chilkuri
672f0e771c Fixed bug in factor_en. #22 2021-07-08 11:58:46 +05:30
vijay gopal chilkuri
be341f3afd Reinstated tests for factor_en. #22 2021-07-08 11:53:13 +05:30
vijay gopal chilkuri
0575638e5b Reinstate tests for factor_ee_deriv_e. #22 2021-07-08 11:49:52 +05:30
vijay gopal chilkuri
0342449621 Reinstate tests for factor_ee. #22 2021-07-08 11:41:32 +05:30
vijay gopal chilkuri
371b943aac Fixed some bugs in aord_vector dims. #22 2021-07-08 11:36:47 +05:30
vijay gopal chilkuri
dcff0cf4b4 Fixed bug in bord_vector dimension. #22 2021-07-08 11:30:07 +05:30
vijay gopal chilkuri
1821089880 Testing IX. #22 2021-07-08 11:10:10 +05:30
vijay gopal chilkuri
c838dabe3c Fix for type_nucl_vector. #22 2021-07-08 10:59:24 +05:30
vijay gopal chilkuri
b1d63752fb Fixed some warnings. #22 2021-07-08 10:40:24 +05:30