1
0
mirror of https://github.com/TREX-CoE/irpjast.git synced 2024-12-23 12:57:29 +01:00

More parallelism

This commit is contained in:
Anthony Scemama 2021-04-24 03:32:53 +02:00
parent af8705d22c
commit c532c8b6d8

View File

@ -10,30 +10,34 @@
! dtmp_c: ! dtmp_c:
! dr_{ij}^k . R_{ja}^l -> dtmp_c_{ia}^{kl} ! dr_{ij}^k . R_{ja}^l -> dtmp_c_{ia}^{kl}
END_DOC END_DOC
integer :: k, icount integer :: k, l, m, icount
integer*8 :: gemms(2*ncord) integer*8 :: gemms(6*ncord*(ncord+1))
icount = 0 icount = 0
! r_{ij}^k . R_{ja}^l -> tmp_c_{ia}^{kl} ! r_{ij}^k . R_{ja}^l -> tmp_c_{ia}^{kl}
do k=0,ncord-1 do k=0,ncord-1
do l=0,ncord
icount += 1 icount += 1
call qmckl_dgemm('N','N', nelec, nnuc*(ncord+1), nelec, 1.d0, & call qmckl_dgemm('N','N', nelec, nnuc, nelec, 1.d0, &
rescale_een_e(1,1,k), size(rescale_een_e,1), & rescale_een_e(1,1,k), size(rescale_een_e,1), &
rescale_een_n(1,1,0), size(rescale_een_n,1), 0.d0, & rescale_een_n(1,1,l), size(rescale_een_n,1), 0.d0, &
tmp_c(1,1,0,k), size(tmp_c,1), gemms(icount)) tmp_c(1,1,l,k), size(tmp_c,1), gemms(icount))
enddo
enddo enddo
! dr_{ij}^k . R_{ja}^l -> dtmp_c_{ia}^{kl} ! dr_{ij}^k . R_{ja}^l -> dtmp_c_{ia}^{kl}
do k=0,ncord-1 do k=0,ncord-1
do l=0,ncord
icount += 1 icount += 1
call qmckl_dgemm('N','N', 4*nelec_8, nnuc*(ncord+1), nelec, 1.d0, & call qmckl_dgemm('N','N', nelec_8*4, nnuc, nelec, 1.d0, &
rescale_een_e_deriv_e(1,1,1,k), & rescale_een_e_deriv_e(1,1,1,k), &
size(rescale_een_e_deriv_e,1)*size(rescale_een_e_deriv_e,2), & size(rescale_een_e_deriv_e,1)*size(rescale_een_e_deriv_e,2), &
rescale_een_n(1,1,0), & rescale_een_n(1,1,l), &
size(rescale_een_n,1), 0.d0, & size(rescale_een_n,1), 0.d0, &
dtmp_c(1,1,1,0,k), size(dtmp_c,1)*size(dtmp_c,2), & dtmp_c(1,1,1,l,k), size(dtmp_c,1)*size(dtmp_c,2), &
gemms(icount)) gemms(icount))
enddo enddo
enddo
call qmckl_tasks_run(gemms, icount) call qmckl_tasks_run(gemms, icount)