9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2025-04-26 10:14:45 +02:00

Put back ddot for AMD

This commit is contained in:
Anthony Scemama 2025-01-21 18:20:43 +01:00
parent 1a5f0b3e38
commit db443e0a5a

View File

@ -177,10 +177,13 @@ double precision function get_two_e_integral(i,j,k,l,map)
if (do_mo_cholesky) then if (do_mo_cholesky) then
get_two_e_integral = 0.d0 double precision, external :: ddot
do kk=1,cholesky_mo_num get_two_e_integral = ddot(cholesky_mo_num, cholesky_mo_transp(1,i,k), 1, cholesky_mo_transp(1,j,l), 1)
get_two_e_integral = get_two_e_integral + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l)
enddo ! get_two_e_integral = 0.d0
! do kk=1,cholesky_mo_num
! get_two_e_integral = get_two_e_integral + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l)
! enddo
else else
@ -519,13 +522,16 @@ subroutine get_mo_two_e_integrals_exch_ii(k,l,sze,out_val,map)
if ( (k>=mo_integrals_cache_min).and.(k<=mo_integrals_cache_max).and. & if ( (k>=mo_integrals_cache_min).and.(k<=mo_integrals_cache_max).and. &
(l>=mo_integrals_cache_min).and.(l<=mo_integrals_cache_max) ) then (l>=mo_integrals_cache_min).and.(l<=mo_integrals_cache_max) ) then
double precision, external :: ddot
integer :: kk integer :: kk
do i=1,mo_integrals_cache_min-1 do i=1,mo_integrals_cache_min-1
out_val(i) = 0.d0 out_val(i) = ddot(cholesky_mo_num, cholesky_mo_transp(1,i,k), 1, &
do kk=1,cholesky_mo_num cholesky_mo_transp(1,i,l), 1)
out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l) ! out_val(i) = 0.d0
enddo ! do kk=1,cholesky_mo_num
! out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l)
! enddo
enddo enddo
do i=mo_integrals_cache_min,mo_integrals_cache_max do i=mo_integrals_cache_min,mo_integrals_cache_max
@ -533,19 +539,23 @@ subroutine get_mo_two_e_integrals_exch_ii(k,l,sze,out_val,map)
enddo enddo
do i=mo_integrals_cache_max, sze do i=mo_integrals_cache_max, sze
out_val(i) = 0.d0 out_val(i) = ddot(cholesky_mo_num, cholesky_mo_transp(1,i,k), 1, &
do kk=1,cholesky_mo_num cholesky_mo_transp(1,i,l), 1)
out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l) ! out_val(i) = 0.d0
enddo ! do kk=1,cholesky_mo_num
! out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l)
! enddo
enddo enddo
else else
do i=1,sze do i=1,sze
out_val(i) = 0.d0 out_val(i) = ddot(cholesky_mo_num, cholesky_mo_transp(1,i,k), 1, &
do kk=1,cholesky_mo_num cholesky_mo_transp(1,i,l), 1)
out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l) ! out_val(i) = 0.d0
enddo ! do kk=1,cholesky_mo_num
! out_val(i) = out_val(i) + cholesky_mo_transp(kk,i,k)*cholesky_mo_transp(kk,i,l)
! enddo
enddo enddo
endif endif