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

139 Commits

Author SHA1 Message Date
c0e82939ac Switch for asm in AOs 2022-06-14 22:30:33 +02:00
07e1e44f05 Include assembly in qmckl_ao 2022-06-11 10:57:58 +02:00
ec7201783f Possibility to compute only values 2022-05-10 19:18:19 +02:00
b2c5542031 Fixed bug in AO HPC 2022-05-06 11:30:21 +02:00
94035929e4 Fixed cppcheck 2022-04-05 11:45:02 +02:00
6fb261d635 warnings 2022-04-05 11:15:42 +02:00
9b1f648437 Accelerated AO->MO transformation 2022-03-28 16:53:36 +02:00
5ecb1d6326 Faster AOs 2022-03-21 18:32:39 +01:00
9124c9209a Merge branch 'master' of github.com:TREX-CoE/qmckl 2022-03-11 13:16:48 +01:00
5b6f530255 Fix debug build
Added missing preprocessor wrapper
2022-03-01 14:17:38 +01:00
8b7b56b57b Fix broken build
Recent HPC-related additions break the current build (make) process. This is because the HPC-related functions are not wrapped in the preprocessor ifdef statement.
2022-02-28 22:28:11 +01:00
22cd823edf Working on generalized contractions 2022-02-27 23:31:52 +01:00
5e35df226a Fortran interface 2022-02-27 11:18:26 +01:00
ad86cb7d67 Working on HPC version of AOs 2022-02-25 20:39:20 +01:00
b6a31b8c58 Optimize AOs 2022-02-25 16:30:16 +01:00
ff526a18cb Fix Clang build 2022-02-25 13:57:13 +01:00
1a5b76157b Updated documentation 2022-02-24 19:06:19 +01:00
d919c53c42 Fix bug in HPC AOs 2022-02-19 19:24:18 +01:00
73399e24ec Fix fortran strings in trexio interface 2022-02-18 01:24:37 +01:00
c93e7828c5 Added qmckl_context_touch for benchmarking 2022-02-17 22:29:53 +01:00
22e281560e Accelerate AOs in HPC 2022-02-17 15:37:57 +01:00
41c0effa10 Accelerated AOs in HPC 2022-02-17 12:36:16 +01:00
7fe73e0104 Fix bug in fast AOs 2022-02-17 01:36:45 +01:00
cc4d0f62f8 Fix CI build 2022-02-16 19:49:05 +01:00
733d941c30 Optimized polynomials 2022-02-16 19:40:14 +01:00
e90e9a531c Added HPC version of polynomials 2022-02-16 15:14:41 +01:00
7ab099f4f5 Prepare polynomials for HPC 2022-02-16 01:12:42 +01:00
1c681d4d7e Rewrote AOs HPC in C 2022-02-16 00:21:37 +01:00
d83dad53cf OpenMP in HPC version 2022-02-15 16:42:47 +01:00
685b7201fc Accelerated AOs 2022-02-15 00:44:47 +01:00
dcb392c0af Swap indices 1..5 with points in AOs/MOs 2022-02-11 16:07:25 +01:00
fac03ea53b Accelerate AOs 2022-02-10 00:00:08 +01:00
0c9a50a681 Introduced points in electron 2022-01-26 17:07:59 +01:00
4b36005ca0 Added vectors and matrices in nucleus 2022-01-23 19:07:27 +01:00
c4635e9296 Added qmckl_point 2022-01-20 01:50:54 +01:00
91946f3ec4 Added size_max to elec_coord 2022-01-17 16:09:41 +01:00
28dc3978f4 Fix warnings 2022-01-08 15:36:07 +01:00
53e2e7bb05 All tests pass without trexio 2022-01-06 02:28:13 +01:00
bd36ed0b48 Update qmckl_blas 2022-01-06 00:51:42 +01:00
5b6404db92 Cleaned AO file 2022-01-05 19:25:51 +01:00
1be1a99529 Documentation of Aos 2022-01-05 15:56:25 +01:00
531c1d4a2d Added size argument to AO functions 2022-01-05 12:26:11 +01:00
2587a046de Fixed #48 2021-10-14 21:40:14 +02:00
86c8187d7e Fix broken builds 2021-10-14 16:32:58 +02:00
Aurélien Delval
3cf86817f4
Fix merge issue with qmckl_ao.org 2021-10-13 15:01:23 +02:00
6d19d416fa
Merge branch 'master' into master 2021-10-06 09:34:45 +02:00
vijay
5557187b0d
Merge branch 'master' into ao_mo_vj 2021-09-29 00:33:07 +02:00
574ce713d2 Removed walk_num in AOs 2021-09-23 11:16:54 +02:00
d3188937f7 Fix normalization in AOs 2021-09-23 10:47:08 +02:00
Pablo de Oliveira Castro
7a082a44eb
Merge branch 'master' into master 2021-09-13 08:16:33 +02:00
5bedc582b5 Merge branch 'master' of github.com:TREX-CoE/qmckl 2021-09-09 09:32:40 +02:00
007ae2f9a4 Comments 2021-09-09 09:32:36 +02:00
v1j4y
a41c67b94f Working on qmckl_dgemm. 2021-09-07 16:36:26 +02:00
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
v1j4y
d704b19c13 Some improvements to the description. 2021-09-06 07:45:10 +02: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
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
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
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
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
Aurélien Delval
cbf1bd8de8 Fix replace error in AO 2021-07-23 12:28:27 +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
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
vijay
cf9c3c0e3d
Merge branch 'master' into jastrow_vj 2021-07-08 10:10:13 +05:30
3ac753cc0a Debugging AOs 2021-07-08 01:25:09 +02:00
Aurélien Delval
d0eb207404
Integration of Verificarlo CI tests (#1)
* 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.

Co-authored-by: Anthony Scemama <scemama@irsamc.ups-tlse.fr>
2021-07-07 13:42:42 +02:00
vijay
9b5c14b284
Merge branch 'master' into jastrow_vj 2021-07-05 18:34:38 +05:30
04ed140e85 Added missing Fortran interfaces 2021-06-27 15:48:46 +02:00
f005f587e7 Error in FOrtran interface fixed 2021-06-25 17:37:45 +02:00
vijay gopal chilkuri
7bac20bfae Check if electron is provided in provide shell vgl. 2021-06-25 07:48:54 +05:30
bd86faf1a6 Merge branch 'master' of github.com:TREX-CoE/qmckl 2021-06-24 00:18:24 +02:00
616815b9b4 comment 2021-06-24 00:18:19 +02:00
2627368c54 Added Fortran interfaces 2021-06-23 23:58:28 +02:00
6b2c188475 Computation of shells 2021-06-22 23:33:09 +02:00
0db9c6009d Ideas for improvement 2021-06-14 12:53:38 +02:00
4bcb9b980c Implemented AO primitives 2021-06-10 23:54:39 +02:00
4ae5517641 Working on AOs 2021-06-10 00:10:19 +02:00
8090edc771 Fix AO tests 2021-06-03 22:34:23 +02:00
58cd3f009d Added test data for ch3clbrf 2021-06-03 18:26:00 +02:00
36293d892e Clean configure 2021-06-03 01:32:50 +02:00
ee9e3c5b55 Removed need for munit 2021-05-11 16:47:22 +02:00
d4711206f0 Introduced qmckl.h in org files 2021-05-11 13:57:23 +02:00
c61556ef77 Working on automake 2021-05-11 11:45:49 +02:00