1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-12-22 20:36:01 +01:00
Commit Graph

793 Commits

Author SHA1 Message Date
Francois Coppens
42f4556fa3 Adding documentation to ORG file. 2023-02-13 17:49:18 +01:00
Francois Coppens
3482c832ac Adding documentation to ORG file. 2023-02-13 17:48:31 +01:00
Francois Coppens
707fa17e09 Adding documentation to ORG file. 2023-02-13 17:44:11 +01:00
Francois Coppens
c0d4f766b1 Reorganising ORG file. 2023-02-13 15:08:37 +01:00
Francois Coppens
6ad4aabdfa Still working 2023-02-10 17:16:08 +01:00
Francois Coppens
cc17b79316 Still working 2023-02-10 16:45:22 +01:00
Francois Coppens
06127f24cb added return value to fortran interface. 2023-02-02 17:34:33 +01:00
Francois Coppens
8a89003bf2 Commented call to _doc kernel. 2023-02-02 17:23:14 +01:00
Francois Coppens
d3aebe52ff Started adding the pedagogical kernels for the HAVE_DOC builds. 2023-02-02 17:04:34 +01:00
Francois Coppens
2e45927e04 Added AVX2 detection to autoconfig script.
Fixed minor SIMD bug in tests.
2023-01-30 17:35:11 +01:00
Francois Coppens
31ea30cdc3 Added Slagel Splitting kernel template generator. 2023-01-27 19:33:27 +01:00
Francois Coppens
6c0430a509 Added Woodbury 3x3 kernel template generator. 2023-01-27 17:41:32 +01:00
Francois Coppens
549413abca Pulled out kernel template range so it can be set at the top,
instead of at 8 different places throughout the code.
2023-01-27 15:24:52 +01:00
Francois Coppens
c58cf3c7f6 Added Woodbury 2x2 kernel template generator. 2023-01-27 14:31:25 +01:00
Francois Coppens
2d02b8cd63 Trivial rename 2023-01-27 14:31:25 +01:00
Francois Coppens
5c0024f3f2 Return QMCKL_FAILURE if return code from qmckl_slagel_splitting equals QMCKL_FAILURE 2023-01-27 11:13:57 +01:00
aecf0215fb Uninitialized value 2023-01-26 18:45:09 +01:00
6da1b73442 Cleaning 2023-01-26 18:42:34 +01:00
858ea62a0a Shadowing variables 2023-01-26 18:19:24 +01:00
93083fbdfe Fixed shadowed variables 2023-01-26 17:55:06 +01:00
8a0a7585f9 Fixed memory leak in een_rescaled_e_ij 2023-01-26 17:49:24 +01:00
ebed18a205 Reduce scope of fname and message 2023-01-26 17:46:39 +01:00
ffa7355299 make cutoff const in AO 2023-01-26 17:45:58 +01:00
François
4a9cecff61 Removed unnecessary __restrict keywords from public exposed functoin headers. 2023-01-26 11:50:58 +01:00
Francois Coppens
70241915aa Throw away some return values that cause 'variable not used' warnings. 2023-01-25 19:16:46 +01:00
Francois Coppens
c54521a1f8 - Added test data for SIMD_LENGTH values 1, 2, 4, 8.
- Added macros that automatically select the correct test data for a
  given value of SIMD_LENGTH.

- Updated the kernel test code to deal correcly with zero padded
  matrices.

- Fixed kernels that genereated false negatives due to bugs in the
  kernels that surfaced only after feeding them padded matrices.
2023-01-25 18:55:26 +01:00
Francois Coppens
9c608166ec Added compiler dependent macros that define vectorization pragmas. 2023-01-20 14:50:03 +01:00
Francois Coppens
fcf0907b82 Added kernel template generator with padding based on SIMD_LENGTH.
Tested with 21x21 square matrices with SIMD_LENGTH = 4.
2023-01-20 14:50:03 +01:00
Francois Coppens
792e430f66 Return statement in wrong scope. 2022-12-16 12:04:42 +01:00
Francois Coppens
0415b68513 Added QMCkl NULL-context checking in template. 2022-12-16 11:43:52 +01:00
Francois Coppens
1af5ddc76c Added partial Python C-template generation for the qmckl_sherman_morrison kernel. 2022-12-15 16:14:57 +01:00
cb96b1122f Merge remote-tracking branch 'origin/qmckl_extra' 2022-11-24 16:18:01 +01:00
ca22f0c277 Maintainer mode file 2022-11-24 16:17:47 +01:00
Otto Kohulak
84217bd3c1 Add qmckl_extra pointer 2022-11-24 15:21:32 +01:00
20da9cc7d8 Better Error handling in point 2022-11-18 14:08:16 +01:00
0f1cf7d147 Fixed wrong dimensions 2022-11-18 13:30:54 +01:00
1b93955506 Fixed unused variable ‘rc’ 2022-11-18 09:28:13 +01:00
6fb14c9a3a Fixed Jastrow with asymptotic values 2022-11-17 19:20:12 +01:00
da2d8f6250 1-body jastrow dimensioned by nucl type 2022-11-17 16:54:49 +01:00
5a6d064ce0 Added asymp_a 2022-11-17 15:45:22 +01:00
ca15c2866d Added rescaling MO coefs 2022-11-17 14:50:29 +01:00
a19b1804ad Fix CI 2022-11-16 22:16:14 +01:00
fab7df908b Cleaning Jastrow 2022-11-16 17:54:59 +01:00
841e756420 Renaming *ord_v* in Jastrow 2022-11-16 11:58:44 +01:00
e66950bbea Fixed Fortran interface of Jastrow (2) 2022-11-14 15:06:58 +01:00
a3a649898f Fixed Fortran interface of Jastrow 2022-11-14 15:01:56 +01:00
d69e4ca2a5 Introduce Fortran interface for Jastrow 2022-11-14 14:57:16 +01:00
50e6037f93 removed intrinsics header 2022-10-20 14:41:22 +02:00
99fb6269a5 Openmp in AOs if more than 16 points to compute 2022-10-13 11:53:49 +02:00
3e2ea5f2ca Inline powers in AOs 2022-10-13 11:48:40 +02:00
485571f771 Added restrict in AOs sparse 2022-10-13 11:31:44 +02:00
1b02b49f51 Sparse AO contraction coefficients 2022-10-11 17:46:30 +02:00
be376d70d0 Fix CI 2022-10-11 09:55:07 +02:00
4dd397f630 Test 5 in AO 2022-10-11 09:49:42 +02:00
v1j4y
b1103a1ae5 Fixed tests. 2022-10-09 11:32:07 +02:00
v1j4y
b925cac7e2 Added provide local energy. 2022-10-09 00:04:15 +02:00
v1j4y
77d399f460 Fixed error message. 2022-10-09 00:04:03 +02:00
v1j4y
86a92f2494 Added size_max for set determinant. 2022-10-09 00:03:45 +02:00
c83dc804b4 Clean VFC probes 2022-09-28 16:37:50 +02:00
Aurelien Delval
72274cda4e Conditional ignore for qmckl_probes calls in distance test 2022-09-27 14:29:30 +00:00
Aurelien Delval
f10a2fe91e Modify the vfc_ci wrapper and its config
- init and dump have to be called manually
- Few config changes to fix CI
2022-09-27 13:37:06 +00:00
858bdbf7f4 Cleaned qmckl_dgemm integration 2022-09-22 16:43:57 +02:00
vijay
eb27207bd9
Merge branch 'master' into qmckl_dgemm_integration 2022-09-22 09:51:31 +02:00
368604633d Moved rescale factors in Jastrow, removed kappa from names 2022-09-09 13:55:07 +02:00
9f4731ff94 Make eN scaling nucleus-specific 2022-09-08 14:05:09 +02:00
e8c7a69c5a Add qmckl_adjugate_safe proxy function 2022-08-22 17:31:15 +02:00
0d6a07705c Merge branch 'master' into add-python-api 2022-08-22 12:11:07 +02:00
e05b589e79 Add qmckl_dgemm_safe proxy function 2022-08-22 12:05:28 +02:00
5fffb52513
Fixed Fortran interface for MOs 2022-08-18 16:13:51 +02:00
5666b52d92 Added qmckl_mo_basis_select_mo 2022-08-17 13:42:17 +02:00
d5289057cd Documentation in MOs 2022-08-17 12:56:57 +02:00
5512c1b41c Fixed bug in ao_value 2022-08-14 16:09:58 +02:00
vijay
cbabbd8490
Merge branch 'master' into qmckl_dgemm_integration 2022-08-11 15:45:51 +02:00
725e488199 Fortran interface for qmckl_last_error 2022-08-10 16:19:33 +02:00
v1j4y
9a5178b011 Fixed indices caused by typo. 2022-08-09 17:09:09 +02:00
v1j4y
e822694a56 Protected qmckldgemm stuff with ifdefs. 2022-08-09 16:11:40 +02:00
v1j4y
46a26c7028 Added modified qmckl_blas including qmckl_dgemm_tiled_avx2 call. 2022-08-09 16:01:48 +02:00
60ef0dc7a6 Redesign walkers 2022-08-07 15:28:00 +02:00
7ad69a5426 Introduced qmckl_last_error 2022-08-02 14:12:58 +02:00
2aa904bed9 auto-generation of providers 2022-08-02 14:12:58 +02:00
1600041f6c Fix the qmckl_context test to pass in DEBUG mode 2022-07-11 10:21:16 +02:00
cdd3d91e3a Fix Jastrow test 2022-07-11 10:09:34 +02:00
b8f0142597 Merge branch 'master' into fix-memory-leaks 2022-07-11 09:47:24 +02:00
062e06693a Fix qmckl_memory test 2022-07-11 09:46:13 +02:00
e08456bd61 Introduced write_provider org functions 2022-07-09 13:11:20 +02:00
8ee9e9dcca check mask in jastrow 2022-07-09 11:34:38 +02:00
21a9d6c51e mask in MOs 2022-07-09 11:17:52 +02:00
daf85efe67 Fix some memory leaks in the tests 2022-07-08 17:43:11 +02:00
6ba83ee33f Avoid duplicate storage of constant parameters in nucleus and electron 2022-07-08 09:43:42 +02:00
06e6221d33 Avoid duplicate storage of constant parameters in AO 2022-07-08 09:15:17 +02:00
1b846de413 Check in malloc 2022-07-07 18:25:49 +02:00
cd6de216b8 Memory alignment in qmckl_malloc 2022-06-29 13:59:09 +02:00
d5fcd2e0fe Intrinsics for AOs and alignment 2022-06-29 13:31:58 +02:00
1b6cf47f0d Fixed bug in HPC version of AOs 2022-06-15 23:21:31 +02:00
28fe475425 Fix examples in doc 2022-06-15 19:17:05 +02:00
3b6a85d404 Fix typo 2022-06-15 16:20:12 +02:00
b5423dca3d Add missing fortran line 2022-06-15 16:13:15 +02:00
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
2784e894d4 python -> python3 2022-06-07 15:55:48 +02:00
222574e985 transa -> transb: Thanks to Axel Auweter ;-) 2022-06-03 15:38:02 +02:00
7e854175cc Added Python example. 2022-05-20 23:20:06 +02:00
ce1aeb324d Change point API to make it consistent for Python 2022-05-20 19:57:01 +02:00
bd299126c1 Fix tests 2022-05-20 19:22:56 +02:00
e00e034497 Merge branch 'master' into add-python-api 2022-05-20 19:19:42 +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
d1e88ad475 Fixed efence compilation 2022-05-06 11:29:46 +02:00
e54ec07e6b warnings 2022-05-06 00:21:55 +02:00
b70dd91db9 Fix bad style 2022-05-06 00:18:23 +02:00
2ea9e50421 Fixed cppcheck 2022-05-06 00:15:40 +02:00
922dbe8112 Merge branch 'master' of github.com:TREX-CoE/qmckl 2022-05-05 21:02:31 +02:00
cc81057ff2 Renaming 2022-05-05 21:00:50 +02:00
1889fed100 Fixed mo bug 2022-05-05 20:49:44 +02:00
5a833cf3f0 Restored dgemm for AO to MO in doc version 2022-05-05 16:25:32 +02:00
7fd6a7322a Update local energy (size_max) 2022-05-04 17:47:06 +02:00
4367d03353 Fix typos in function names 2022-05-02 16:37:15 +02:00
5c5c13f5b3 Fix previous commit 2022-04-20 16:11:06 +02:00
e995d81b7e Add Fortran interfaces in MOs 2022-04-20 15:56:10 +02:00
b60fc16601 Add Fortran interfaces in MOs 2022-04-20 15:55:59 +02:00
Aurelien Delval
ad531dddf9 Configure cuBLAS with --enable-gpu and clean code 2022-04-08 11:11:15 +02:00
Max Hoffer
9b806aa071
Merge branch 'gpu' into gpu 2022-04-08 10:43:42 +02:00
hoffer
d4f0ccee3b Add cublas batch Dgemm 2022-04-08 10:44:48 +02:00
07cc64bb31 Changed enable-cublas into with-cublas 2022-04-08 10:32:38 +02:00
hoffer
69b9e0fb89 Add cublas batched 2022-04-07 18:44:59 +02:00
Gianfranco Abrusci
4ee83a48d0 Merge branch 'gpu' into jastrow_hpc 2022-04-07 18:43:11 +02:00
185c1c3cb7 Merge branch 'gpu' of github.com:TREX-CoE/qmckl into gpu
Conflicts:
	org/qmckl_jastrow.org
2022-04-07 17:07:41 +02:00
47d63aa9d3 Fix cublas 2022-04-07 17:02:36 +02:00
Gianfranco Abrusci
0a3f427ace removed unused variable in doc and hpc of compute_factor_ee_deriv_e 2022-04-07 16:21:29 +02:00
Gianfranco Abrusci
61495786db merged gpu with compute_factor_ee_deriv_e 2022-04-07 15:51:50 +02:00
Gianfranco Abrusci
12ccb09b86 test passed 2022-04-07 15:41:22 +02:00
Aurelien Delval
3cd30bc8f3 Fix OpenACC and OpenMP implementations 2022-04-07 13:57:20 +02:00
a7fac59f04 Merge branch 'gpu' of github.com:TREX-CoE/qmckl into gpu 2022-04-07 13:35:08 +02:00
7dc02571e9 Fix build 2022-04-07 13:33:50 +02:00
d1dc35eaa4 First working OpenMP version 2022-04-06 17:58:05 +02:00
Max Hoffer
7aad2a79a2
Merge branch 'gpu' into gpu 2022-04-06 17:17:16 +02:00
aeec721774 Merge branch 'gpu' of github.com:TREX-CoE/qmckl into gpu 2022-04-06 17:11:26 +02:00
3ea90bc4a5 OpenMP 2022-04-06 17:11:21 +02:00
9cef7048d3 Fix CI 2022-04-06 17:10:23 +02:00
hoffer
fe277b7a6e Ok for openmp and Cublas 2022-04-06 17:04:00 +02:00
88e8404b2a Merge branch 'gpu' of github.com:TREX-CoE/qmckl into gpu 2022-04-06 16:38:19 +02:00
cc5f6914f6 Cleaning 2022-04-06 16:26:35 +02:00
hoffer
3b5221531c Add openmp and cublas 2022-04-06 16:20:29 +02:00
Gianfranco Abrusci
e496667189 debugging factor_ee_deriv_e 2022-04-06 15:59:12 +02:00
Gianfranco Abrusci
ff6d2e17f2 Merge branch 'gpu' into jastrow_hpc 2022-04-06 14:13:24 +02:00
Gianfranco Abrusci
b79a23897d qmckl_compute_een_rescaled_e_hpc (c version) working 2022-04-06 14:01:13 +02:00
0d5d14b8e4 Fix openacc 2022-04-06 11:51:36 +02:00
hoffer
39bcc569e0 Start implementing cublas 2022-04-06 11:16:17 +02:00
0966e1e2b1 Fix OpenACC 2022-04-06 10:42:00 +02:00
2323
72fad819bf Fix flags 2022-04-06 10:03:56 +02:00
a3a1cc6428 Merge branch 'gpu' of github.com:TREX-CoE/qmckl into gpu 2022-04-05 16:52:43 +02:00
c3424216de Fix info 2022-04-05 16:52:35 +02:00
Aurélien Delval
63c7f8ea72 Replace placeholder cuBLAS kernels with new C HPC implementation 2022-04-05 16:29:52 +02:00
Aurélien Delval
0ce0a93522 Fix preprocessor else and remove old cuBLAS interface 2022-04-05 14:37:57 +02:00
Aurélien Delval
eb71a752f5 Fixed naive GPU kernels and ignored variable issue 2022-04-05 14:28:35 +02:00
Gianfranco Abrusci
586eb92801 compute_cord_vect_full done 2022-04-05 14:23:20 +02:00
Aurélien Delval
bc43113b6f
Merge branch 'gpu' into master 2022-04-05 11:46:12 +02:00
94035929e4 Fixed cppcheck 2022-04-05 11:45:02 +02:00
Aurélien Delval
0e43d33a1d
Merge branch 'gpu' into master 2022-04-05 11:39:16 +02:00
6fb261d635 warnings 2022-04-05 11:15:42 +02:00
731fded4a8 warnings 2022-04-05 11:03:30 +02:00
Aurélien Delval
98097e8fa7 Convert GPU implementations to C
TODO : Fix naive implementation which seems to be incorrect (probably an
issue with indexing)
2022-04-05 11:02:08 +02:00
511eba5843 Fixed dgemm bug 2022-04-05 09:56:13 +02:00
bcdbc49d5f Cleaning 2022-04-04 23:53:58 +02:00
dd045452f6 Fixed documentation 2022-04-04 17:30:38 +02:00
1f9ea610d4 Moved C version of Jastrow into HPC 2022-04-04 16:56:33 +02:00
Aurélien Delval
84013a5f76 Cleanup before merging into QMCkl's GPU branch 2022-04-04 12:12:11 +02:00
7e56b3e2ed Merge branch 'master' into gpu 2022-04-04 12:11:57 +02:00
bac1eb33f0 Fixed configure for Nvidian compilers 2022-04-04 12:11:26 +02:00
Gianfranco Abrusci
35e15205df Merge branch 'master' into jastrow_c 2022-04-04 11:22:17 +02:00
Aurélien Delval
26bbd6f341 Start work on cuBLAS implementation
TODO Replace CPU BLAS calls by cuBLAS calls (will probably require to write a Fortran to the functions we're interested in, at least DGEMMs)
2022-04-01 09:19:56 +02:00
Aurélien Delval
9428eaa19e Implement computation of tmp_c and dtmp_c in OpenACC
These 2 kernels seem to give good speedup compared to the CPU BLAS
versions. However, the current GPU implementation of factor_een_deriv seems to
be slightly slower (on the tested machine).

TODO:
- Try to improve factor_een_deriv GPU implem
- Try out a cuBLAS implementation of tmp_c and dtmp_c
2022-03-30 16:16:06 +02:00
Aurelien Delval
99306473a4 Start OpenACC implementation in Jastro, including compute_dtmp_c 2022-03-30 09:01:32 +02:00
91811079d3 Fixed bugs. Travis OK. 2022-03-28 18:29:29 +02:00
b9cd2ed1ab Fix type error 2022-03-28 18:26:20 +02:00
bab87884cd Accelerated HPC AO->MO transformation 2022-03-28 17:58:03 +02:00
1b0bfd40be HPC version of AO->MO transformation 2022-03-28 17:37:50 +02:00
9b1f648437 Accelerated AO->MO transformation 2022-03-28 16:53:36 +02:00
Aurelien Delval
383c6ac78a Add OFFLOAD_FLAGS, OFFLOAD_CFLAGS and OFFLOAD_FCFLAGS vars to configure 2022-03-28 07:58:01 +02:00
Aurelien Delval
bcc49ca312 Minor fixes to previous commit
TODO Start modifying dedicated function to implement offloading

Also, as of now, Fortran preprocessor flags should be passed manually,
we need to manage this in the configure.ac in the future. For now, when
using gfortran, you should pass FCFLAGS="-cpp -DWITH_OPENMP_OFFLOAD" to
enable offloading.
2022-03-25 13:03:35 +01:00
Aurelien Delval
5e3231e7e3 Add selection mechanism for offload mode in Jastrow
This system adds an additional field to the QMCkl context to store the
offload mode currently in use for each kernel (in this commit, this has
been implemented for Jastrow as an example). This will be useful to test
different offloading versions that can be easily toggled on/off at
compilation and at runtime.
2022-03-24 16:35:29 +01:00
5ecb1d6326 Faster AOs 2022-03-21 18:32:39 +01:00
Gianfranco Abrusci
3ce162a384 dtmp_c done 2022-03-17 22:27:10 +01:00
Gianfranco Abrusci
6b45157212 tmp_c done 2022-03-17 17:46:21 +01:00
Gianfranco Abrusci
b222ee3156 lkpm works 2022-03-14 11:21:31 +01:00
9124c9209a Merge branch 'master' of github.com:TREX-CoE/qmckl 2022-03-11 13:16:48 +01:00
Gianfranco Abrusci
712f595ed6 Merge branch 'jastrow_c' into qmckl_compute_dim_cord_vect_f 2022-03-09 11:23:43 +01:00
Gianfranco Abrusci
88e3fc1100 Merge branch 'master' into jastrow_c 2022-03-09 11:18:45 +01:00
Gianfranco Abrusci
a4ba5deac4 compute_dim_cord_vect done 2022-03-09 11:15:15 +01:00
Gianfranco Abrusci
d13693a822 to be cleaned from print 2022-03-02 10:18:45 +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
Gianfranco Abrusci
4fac9f06c9 to be checked 2022-02-28 17:47:24 +01:00
22cd823edf Working on generalized contractions 2022-02-27 23:31:52 +01:00
26fe759209 Added examples.org 2022-02-27 12:35:58 +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