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

627 Commits

Author SHA1 Message Date
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
Gianfranco Abrusci
3bd249176f Merge branch 'jastrow_c' into qmckl_compute_een_rescaled_n 2022-02-22 14:55:55 +01:00
Gianfranco Abrusci
5151f1bd36 Merge branch 'master' into jastrow_c 2022-02-22 14:53:00 +01:00
Gianfranco Abrusci
2427d1b56e working qmckl_compute_een_rescaled_n 2022-02-22 14:52:21 +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
Gianfranco Abrusci
bb2e8384e8 fix reorder of nex function 2022-02-16 18:13:57 +01:00
Gianfranco Abrusci
bf8cec7f3c reordered index in ee_distance_rescaled that makes sense 2022-02-16 18:09:02 +01:00
e90e9a531c Added HPC version of polynomials 2022-02-16 15:14:41 +01:00
Gianfranco Abrusci
05cfd10cc4 completed qmckl_compute_factor_en 2022-02-16 14:14:05 +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
Gianfranco Abrusci
85e0a6e8e0 Merge branch 'master' into jastrow_c 2022-02-14 12:30:02 +01:00
v1j4y
8ed7a8b672 Added dim to factor_een and factor_een_deriv_e. 2022-02-11 17:35:07 +01:00
v1j4y
e2a678cc5c Cleaned tmp_c and dtmp_c. 2022-02-11 17:31:17 +01:00
v1j4y
2f05df5109 Fixed een_rescaled_n_deriv_e. 2022-02-11 17:30:15 +01:00
v1j4y
367d0ff108 Fixed een_rescaled_n. 2022-02-11 17:19:36 +01:00
v1j4y
cf005084f1 Fixed een_rescaled_e_deriv_d. 2022-02-11 17:06:17 +01:00
v1j4y
a7ec3585a7 reorder indices for een_rescaled_e. 2022-02-11 16:19:31 +01:00
vijay
6e4b7f6722
Merge branch 'master' into reorder_indices_jastrow 2022-02-11 16:13:44 +01:00
bac6bf9cb8 Merge branch 'master' of github.com:TREX-CoE/qmckl 2022-02-11 16:07:37 +01:00
dcb392c0af Swap indices 1..5 with points in AOs/MOs 2022-02-11 16:07:25 +01:00
v1j4y
2c7a1eb2c6 Fix factor_en_deriv_e. 2022-02-11 16:06:19 +01:00
vijay
82c5f54573
Merge branch 'master' into reorder_indices_jastrow 2022-02-11 15:58:56 +01:00
v1j4y
1bb1e1f7d3 Fix bug in calculation of en_distance_rescaled_deriv_e. 2022-02-11 15:50:58 +01:00
v1j4y
f22e2b1d72 Working on factor_en. 2022-02-11 15:45:16 +01:00
v1j4y
19ad64a80b Merge branch 'reorder_indices_jastrow' of https://github.com/v1j4y/qmckl into reorder_indices_jastrow 2022-02-11 15:38:15 +01:00
v1j4y
3348781cc2 Fixed ee_distances_rescaled_deriv_e. 2022-02-11 15:37:55 +01:00
vijay
fdf25fd6fa
Merge branch 'master' into reorder_indices_jastrow 2022-02-11 15:37:27 +01:00
v1j4y
88e2f62d7f Fixed ee_distance_rescaled index order. 2022-02-11 15:36:08 +01:00
v1j4y
71b0bbfaff Fix test for drift. 2022-02-11 15:28:11 +01:00
v1j4y
da3c8c7cf9 Working on ee_distance_deriv_e. 2022-02-11 15:27:18 +01:00
v1j4y
fa535bdcd1 Added size to factor_ee. 2022-02-11 15:17:57 +01:00
vijay
51ee6e58c0
Merge branch 'master' into reorder_indices_jastrow 2022-02-11 15:09:27 +01:00
v1j4y
757d81324a Added size in setters. 2022-02-11 15:09:18 +01:00
v1j4y
8ebcb63610 Bug Fix for icc. Fixes #60. 2022-02-11 14:50:42 +01:00
v1j4y
04624171f0 Added size dimensions to aord, cord, and bord. 2022-02-11 14:45:20 +01:00
Gianfranco Abrusci
cfea5550e9 Merge branch 'master' into jastrow_c 2022-02-10 14:25:16 +01:00
fac03ea53b Accelerate AOs 2022-02-10 00:00:08 +01:00
Gianfranco Abrusci
c3889340eb Merge branch 'master' into jastrow_c 2022-02-09 17:45:37 +01:00
e9f79c144a Merge branch 'master' of github.com:TREX-CoE/qmckl 2022-02-09 14:37:45 +01:00
484c0a7d5c Documentation of Jastrow 2022-02-09 14:37:38 +01:00
Gianfranco Abrusci
2332007a7c fixed qmckl_compute_factor_ee 2022-02-07 13:53:50 +01:00
Gianfranco Abrusci
794ee5fe8c remove generate interface 2022-02-07 12:17:44 +01:00
v1j4y
b8b2997382 Fixed indexing of ee_distance_rescaled. 2022-02-04 17:13:15 +01:00
Gianfranco Abrusci
3a727b7688 c version of compute_asymp_jasb 2022-02-03 18:53:04 +01:00
Gianfranco Abrusci
41960751bf updated gian_helpers to trex master 2022-02-03 18:44:08 +01:00
Gianfranco Abrusci
81d55b4189 ee_distance_rescaled fixed;assert fails due to number mismatch 2022-02-03 18:27:33 +01:00
Gianfranco Abrusci
b0bfb3157c translation completed; error at accessing ee_distance_rescaled 2022-02-03 17:10:31 +01:00
Gianfranco Abrusci
1f31183be4 init compute_factor_ee 2022-02-03 12:11:33 +01:00
Gianfranco Abrusci
6a0c54f48c fixed seg fault: incremented wrong counter 2022-02-03 11:40:54 +01:00
Gianfranco Abrusci
67f80532f9 still failing 2022-02-02 18:21:40 +01:00
Gianfranco Abrusci
f6f346d511 seg fault at qmckl_compute_asymp_jasb 2022-02-02 16:37:26 +01:00
3488455110 Work on Jastrow 2022-01-31 16:47:28 +01:00
v1j4y
158c2afb41 Fixed edits. 2022-01-27 16:38:28 +01:00
v1j4y
e8a7b1a3f6 compute_asymp_jasb started. 2022-01-27 16:35:39 +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
vijay
61e09a7870
Jastrow implementation via dgemm (#57)
* Added chameleon support.

* Started work on tmp_c.

* Added initial implementation of dtmp_c.

* Jastrow een and een_deriv_e can now use tmp_c and dtmp_c.

* Correct indexing. Still testing.

* Fixed a bug in call to provide_dtmp_c.

* Added test for tmp_c.

* Using dtmp_c for een_deriv_e. All tests pass.

* Added final test for dtmp_c. All tests passing. Ready for merge.
2022-01-21 08:52:02 +01:00