mirror of
https://github.com/QuantumPackage/qp2.git
synced 2025-01-03 09:05:39 +01:00
Can't improve davidsion with storage
This commit is contained in:
parent
db29e0048a
commit
0b3b62aec8
@ -775,12 +775,6 @@ subroutine davidson_diag_hjj_sjj(dets_in,u_in,H_jj,s2_out,energies,dim_in,sze,N_
|
|||||||
)
|
)
|
||||||
FREE nthreads_davidson
|
FREE nthreads_davidson
|
||||||
|
|
||||||
! call mmap_destroy(singles_alpha_csc_map)
|
|
||||||
! FREE singles_alpha_csc_map
|
|
||||||
!
|
|
||||||
! call mmap_destroy(singles_beta_csc_map)
|
|
||||||
! FREE singles_beta_csc_map
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -179,13 +179,12 @@ subroutine H_u_0_nstates_openmp_work_$N_int(v_t,u_t,N_st,sze,istart,iend,ishift,
|
|||||||
!
|
!
|
||||||
! compute_singles = (mem+rss > qp_max_mem)
|
! compute_singles = (mem+rss > qp_max_mem)
|
||||||
!
|
!
|
||||||
! if (.not.compute_singles) then
|
compute_singles=.True.
|
||||||
! provide singles_beta_csc
|
|
||||||
! endif
|
|
||||||
|
|
||||||
PROVIDE singles_beta_csc_map singles_alpha_csc_map
|
if (.not.compute_singles) then
|
||||||
|
provide singles_alpha_csc singles_beta_csc
|
||||||
|
endif
|
||||||
|
|
||||||
compute_singles=.True.
|
|
||||||
|
|
||||||
|
|
||||||
maxab = max(N_det_alpha_unique, N_det_beta_unique)+1
|
maxab = max(N_det_alpha_unique, N_det_beta_unique)+1
|
||||||
@ -212,8 +211,8 @@ compute_singles=.True.
|
|||||||
!$OMP psi_bilinear_matrix_transp_rows_loc, &
|
!$OMP psi_bilinear_matrix_transp_rows_loc, &
|
||||||
!$OMP istart, iend, istep, irp_here, v_t, &
|
!$OMP istart, iend, istep, irp_here, v_t, &
|
||||||
!$OMP ishift, idx0, u_t, maxab, compute_singles, &
|
!$OMP ishift, idx0, u_t, maxab, compute_singles, &
|
||||||
!$OMP singles_alpha_csc_map,singles_alpha_csc_idx, &
|
!$OMP singles_alpha_csc,singles_alpha_csc_idx, &
|
||||||
!$OMP singles_beta_csc_map,singles_beta_csc_idx) &
|
!$OMP singles_beta_csc_,singles_beta_csc_idx) &
|
||||||
!$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, &
|
!$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, &
|
||||||
!$OMP lcol, lrow, l_a, l_b, utl, kk, u_is_sparse, &
|
!$OMP lcol, lrow, l_a, l_b, utl, kk, u_is_sparse, &
|
||||||
!$OMP buffer, doubles, n_doubles, umax, &
|
!$OMP buffer, doubles, n_doubles, umax, &
|
||||||
@ -275,7 +274,7 @@ compute_singles=.True.
|
|||||||
!DIR$ LOOP COUNT avg(1000)
|
!DIR$ LOOP COUNT avg(1000)
|
||||||
do k8=singles_beta_csc_idx(kcol),singles_beta_csc_idx(kcol+1)-1
|
do k8=singles_beta_csc_idx(kcol),singles_beta_csc_idx(kcol+1)-1
|
||||||
n_singles_b = n_singles_b+1
|
n_singles_b = n_singles_b+1
|
||||||
singles_b(n_singles_b) = singles_beta_csc_map%i1(k8)
|
singles_b(n_singles_b) = singles_beta_csc(k8)
|
||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -329,9 +328,9 @@ compute_singles=.True.
|
|||||||
right = singles_alpha_csc_idx(krow+1)
|
right = singles_alpha_csc_idx(krow+1)
|
||||||
do while (right-left>0_8)
|
do while (right-left>0_8)
|
||||||
k8 = shiftr(right+left,1)
|
k8 = shiftr(right+left,1)
|
||||||
if (singles_alpha_csc_map%i1(k8) > lrow) then
|
if (singles_alpha_csc(k8) > lrow) then
|
||||||
right = k8
|
right = k8
|
||||||
else if (singles_alpha_csc_map%i1(k8) < lrow) then
|
else if (singles_alpha_csc(k8) < lrow) then
|
||||||
left = k8 + 1_8
|
left = k8 + 1_8
|
||||||
else
|
else
|
||||||
right_max = k8+1_8
|
right_max = k8+1_8
|
||||||
@ -357,9 +356,9 @@ compute_singles=.True.
|
|||||||
right = right_max
|
right = right_max
|
||||||
do while (right-left>0_8)
|
do while (right-left>0_8)
|
||||||
k8 = shiftr(right+left,1)
|
k8 = shiftr(right+left,1)
|
||||||
if (singles_alpha_csc_map%i1(k8) > lrow) then
|
if (singles_alpha_csc(k8) > lrow) then
|
||||||
right = k8
|
right = k8
|
||||||
else if (singles_alpha_csc_map%i1(k8) < lrow) then
|
else if (singles_alpha_csc(k8) < lrow) then
|
||||||
left = k8 + 1_8
|
left = k8 + 1_8
|
||||||
else
|
else
|
||||||
n_singles_a += 1
|
n_singles_a += 1
|
||||||
|
@ -218,14 +218,13 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
|
|||||||
!
|
!
|
||||||
! compute_singles = (mem+rss > qp_max_mem)
|
! compute_singles = (mem+rss > qp_max_mem)
|
||||||
!
|
!
|
||||||
! if (.not.compute_singles) then
|
compute_singles=.True.
|
||||||
! provide singles_beta_csc
|
|
||||||
! endif
|
|
||||||
|
|
||||||
! PROVIDE singles_beta_csc_map singles_alpha_csc_map
|
if (.not.compute_singles) then
|
||||||
PROVIDE singles_beta_csc singles_alpha_csc
|
provide singles_alpha_csc
|
||||||
|
provide singles_beta_csc
|
||||||
|
endif
|
||||||
|
|
||||||
compute_singles=.True.
|
|
||||||
|
|
||||||
|
|
||||||
maxab = max(N_det_alpha_unique, N_det_beta_unique)+1
|
maxab = max(N_det_alpha_unique, N_det_beta_unique)+1
|
||||||
@ -254,8 +253,6 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
|
|||||||
!$OMP ishift, idx0, u_t, maxab, compute_singles, &
|
!$OMP ishift, idx0, u_t, maxab, compute_singles, &
|
||||||
!$OMP singles_alpha_csc,singles_alpha_csc_idx, &
|
!$OMP singles_alpha_csc,singles_alpha_csc_idx, &
|
||||||
!$OMP singles_beta_csc,singles_beta_csc_idx) &
|
!$OMP singles_beta_csc,singles_beta_csc_idx) &
|
||||||
! !$OMP singles_alpha_csc_map,singles_alpha_csc_idx, &
|
|
||||||
! !$OMP singles_beta_csc_map,singles_beta_csc_idx) &
|
|
||||||
!$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, &
|
!$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, &
|
||||||
!$OMP lcol, lrow, l_a, l_b, utl, kk, u_is_sparse, &
|
!$OMP lcol, lrow, l_a, l_b, utl, kk, u_is_sparse, &
|
||||||
!$OMP buffer, doubles, n_doubles, umax, &
|
!$OMP buffer, doubles, n_doubles, umax, &
|
||||||
@ -317,7 +314,6 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
|
|||||||
!DIR$ LOOP COUNT avg(1000)
|
!DIR$ LOOP COUNT avg(1000)
|
||||||
do k8=singles_beta_csc_idx(kcol),singles_beta_csc_idx(kcol+1)-1
|
do k8=singles_beta_csc_idx(kcol),singles_beta_csc_idx(kcol+1)-1
|
||||||
n_singles_b = n_singles_b+1
|
n_singles_b = n_singles_b+1
|
||||||
! singles_b(n_singles_b) = singles_beta_csc_map%i1(k8)
|
|
||||||
singles_b(n_singles_b) = singles_beta_csc(k8)
|
singles_b(n_singles_b) = singles_beta_csc(k8)
|
||||||
enddo
|
enddo
|
||||||
endif
|
endif
|
||||||
@ -375,10 +371,8 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
|
|||||||
right = singles_alpha_csc_idx(krow+1)
|
right = singles_alpha_csc_idx(krow+1)
|
||||||
do while (right-left>0_8)
|
do while (right-left>0_8)
|
||||||
k8 = shiftr(right+left,1)
|
k8 = shiftr(right+left,1)
|
||||||
! if (singles_alpha_csc_map%i1(k8) > lrow) then
|
|
||||||
if (singles_alpha_csc(k8) > lrow) then
|
if (singles_alpha_csc(k8) > lrow) then
|
||||||
right = k8
|
right = k8
|
||||||
! else if (singles_alpha_csc_map%i1(k8) < lrow) then
|
|
||||||
else if (singles_alpha_csc(k8) < lrow) then
|
else if (singles_alpha_csc(k8) < lrow) then
|
||||||
left = k8 + 1_8
|
left = k8 + 1_8
|
||||||
else
|
else
|
||||||
@ -405,10 +399,8 @@ subroutine H_S2_u_0_nstates_openmp_work_$N_int(v_t,s_t,u_t,N_st,sze,istart,iend,
|
|||||||
right = right_max
|
right = right_max
|
||||||
do while (right-left>0_8)
|
do while (right-left>0_8)
|
||||||
k8 = shiftr(right+left,1)
|
k8 = shiftr(right+left,1)
|
||||||
! if (singles_alpha_csc_map%i1(k8) > lrow) then
|
|
||||||
if (singles_alpha_csc(k8) > lrow) then
|
if (singles_alpha_csc(k8) > lrow) then
|
||||||
right = k8
|
right = k8
|
||||||
! else if (singles_alpha_csc_map%i1(k8) < lrow) then
|
|
||||||
else if (singles_alpha_csc(k8) < lrow) then
|
else if (singles_alpha_csc(k8) < lrow) then
|
||||||
left = k8 + 1_8
|
left = k8 + 1_8
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user