mirror of
https://github.com/LCPQ/quantum_package
synced 2025-01-03 10:05:57 +01:00
Reduced memory in 4idx
This commit is contained in:
parent
e4080ce676
commit
8dd2dcb44f
@ -65,15 +65,15 @@ subroutine four_index_transform_block(map_a,map_c,matrix_B,LDB, &
|
|||||||
integer*8 :: new_size
|
integer*8 :: new_size
|
||||||
new_size = max(1024_8, 5_8 * map_a % n_elements )
|
new_size = max(1024_8, 5_8 * map_a % n_elements )
|
||||||
|
|
||||||
allocate(a_array_ik(new_size), a_array_j(new_size), a_array_value(new_size))
|
|
||||||
|
|
||||||
integer :: ipass, npass
|
|
||||||
integer*8 :: tempspace
|
integer*8 :: tempspace
|
||||||
|
|
||||||
tempspace = (new_size * 16_8) / (1024_8 * 1024_8)
|
tempspace = (new_size * 16_8) / (1024_8 * 1024_8)
|
||||||
npass = int(min(int(l_end-l_start,8),1_8 + tempspace / 2048_8),4) ! 2 GiB of scratch space
|
npass = int(min(int(l_end-l_start,8),1_8 + tempspace / 2048_8),4) ! 2 GiB of scratch space
|
||||||
l_block = (l_end-l_start+1)/npass
|
l_block = (l_end-l_start+1)/npass
|
||||||
|
|
||||||
|
allocate(a_array_ik(new_size/npass), a_array_j(new_size/npass), a_array_value(new_size/npass))
|
||||||
|
|
||||||
|
integer :: ipass, npass
|
||||||
ipass = 0
|
ipass = 0
|
||||||
do l_start_block = l_start, l_end, l_block
|
do l_start_block = l_start, l_end, l_block
|
||||||
ipass = ipass+1
|
ipass = ipass+1
|
||||||
|
@ -119,15 +119,15 @@ BEGIN_PROVIDER [ logical, mo_bielec_integrals_in_map ]
|
|||||||
else
|
else
|
||||||
! call add_integrals_to_map(full_ijkl_bitmask_4)
|
! call add_integrals_to_map(full_ijkl_bitmask_4)
|
||||||
|
|
||||||
! call four_index_transform_block(ao_integrals_map,mo_integrals_map, &
|
call four_index_transform_block(ao_integrals_map,mo_integrals_map, &
|
||||||
! mo_coef, size(mo_coef,1), &
|
|
||||||
! 1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, &
|
|
||||||
! 1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num)
|
|
||||||
|
|
||||||
call four_index_transform(ao_integrals_map,mo_integrals_map, &
|
|
||||||
mo_coef, size(mo_coef,1), &
|
mo_coef, size(mo_coef,1), &
|
||||||
1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, &
|
1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, &
|
||||||
1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num)
|
1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num)
|
||||||
|
!
|
||||||
|
! call four_index_transform(ao_integrals_map,mo_integrals_map, &
|
||||||
|
! mo_coef, size(mo_coef,1), &
|
||||||
|
! 1, 1, 1, 1, ao_num, ao_num, ao_num, ao_num, &
|
||||||
|
! 1, 1, 1, 1, mo_tot_num, mo_tot_num, mo_tot_num, mo_tot_num)
|
||||||
|
|
||||||
integer*8 :: get_mo_map_size, mo_map_size
|
integer*8 :: get_mo_map_size, mo_map_size
|
||||||
mo_map_size = get_mo_map_size()
|
mo_map_size = get_mo_map_size()
|
||||||
|
Loading…
Reference in New Issue
Block a user