Francois Coppens
181f662c68
Added macro HPC/DOC switch
2023-02-15 19:03:11 +01:00
Francois Coppens
4f0bdda4ff
...and the Fortran interfaces to the C-functions.
2023-02-15 18:49:12 +01:00
Francois Coppens
54a51b6ecc
Added Slagel splitting back + pedagogical skeleton function and interface.
2023-02-15 18:41:53 +01:00
Francois Coppens
c07553480c
Pedagogical Naive kernel works.
2023-02-15 11:46:48 +01:00
Francois Coppens
87d6acb49a
Adding documentation to ORG file.
2023-02-13 17:50:20 +01:00
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