mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-04-26 02:04:45 +02:00
Speed up cache in integrals
This commit is contained in:
parent
6b597c5cee
commit
8c7184fb77
@ -158,7 +158,7 @@ subroutine H_S2_u_0_nstates_openmp_work(v_t,s_t,u_t,N_st,sze,istart,iend,ishift,
|
|||||||
double precision, intent(out) :: v_t(N_st,sze), s_t(N_st,sze)
|
double precision, intent(out) :: v_t(N_st,sze), s_t(N_st,sze)
|
||||||
|
|
||||||
|
|
||||||
PROVIDE ref_bitmask_energy N_int
|
PROVIDE ref_bitmask_energy N_int all_mo_integrals
|
||||||
|
|
||||||
select case (N_int)
|
select case (N_int)
|
||||||
case (1)
|
case (1)
|
||||||
|
@ -81,11 +81,15 @@ BEGIN_PROVIDER [ double precision, mo_integrals_cache, (0_8:mo_integrals_cache_s
|
|||||||
integer(key_kind) :: idx
|
integer(key_kind) :: idx
|
||||||
real(integral_kind) :: integral
|
real(integral_kind) :: integral
|
||||||
FREE ao_integrals_cache
|
FREE ao_integrals_cache
|
||||||
|
|
||||||
if (do_mo_cholesky) then
|
if (do_mo_cholesky) then
|
||||||
|
|
||||||
call set_multiple_levels_omp(.False.)
|
call set_multiple_levels_omp(.False.)
|
||||||
!$OMP PARALLEL DO PRIVATE (k,l,ii)
|
|
||||||
|
|
||||||
|
!$OMP PARALLEL DO PRIVATE(k,l,ii) SCHEDULE(dynamic)
|
||||||
do l=mo_integrals_cache_min,mo_integrals_cache_max
|
do l=mo_integrals_cache_min,mo_integrals_cache_max
|
||||||
|
print *, l
|
||||||
do k=mo_integrals_cache_min,mo_integrals_cache_max
|
do k=mo_integrals_cache_min,mo_integrals_cache_max
|
||||||
ii = int(l-mo_integrals_cache_min,8)
|
ii = int(l-mo_integrals_cache_min,8)
|
||||||
ii = ior( shiftl(ii,mo_integrals_cache_shift), int(k-mo_integrals_cache_min,8))
|
ii = ior( shiftl(ii,mo_integrals_cache_shift), int(k-mo_integrals_cache_min,8))
|
||||||
@ -101,7 +105,7 @@ BEGIN_PROVIDER [ double precision, mo_integrals_cache, (0_8:mo_integrals_cache_s
|
|||||||
!$OMP END PARALLEL DO
|
!$OMP END PARALLEL DO
|
||||||
|
|
||||||
else
|
else
|
||||||
!$OMP PARALLEL DO PRIVATE (i,j,k,l,idx,ii,integral)
|
!$OMP PARALLEL DO PRIVATE (i,j,k,l,idx,ii,integral) SCHEDULE(dynamic)
|
||||||
do l=mo_integrals_cache_min,mo_integrals_cache_max
|
do l=mo_integrals_cache_min,mo_integrals_cache_max
|
||||||
do k=mo_integrals_cache_min,mo_integrals_cache_max
|
do k=mo_integrals_cache_min,mo_integrals_cache_max
|
||||||
do j=mo_integrals_cache_min,mo_integrals_cache_max
|
do j=mo_integrals_cache_min,mo_integrals_cache_max
|
||||||
|
Loading…
x
Reference in New Issue
Block a user