From a3c5e41279c6813744f1cacd8dd2dc4379ec9744 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 13 Apr 2018 08:16:56 +0100 Subject: [PATCH] Further fixes for hash_map_mod. Start debugging --- base/modules/Makefile | 2 +- base/modules/desc/psb_hash_map_mod.f90 | 2 ++ test/hello/Makefile | 2 +- test/pargen/psb_d_pde2d.f90 | 7 ++++--- test/pargen/psb_d_pde3d.f90 | 12 +++++++----- test/pargen/psb_s_pde2d.f90 | 7 ++++--- test/pargen/psb_s_pde3d.f90 | 12 +++++++----- 7 files changed, 26 insertions(+), 18 deletions(-) diff --git a/base/modules/Makefile b/base/modules/Makefile index ee652272..2618f583 100644 --- a/base/modules/Makefile +++ b/base/modules/Makefile @@ -245,7 +245,7 @@ psi_z_mod.o: desc/psb_desc_mod.o serial/psb_z_vect_mod.o comm/psi_z_comm_a_mod.o psi_mod.o: psb_penv_mod.o desc/psb_desc_mod.o auxil/psi_serial_mod.o serial/psb_serial_mod.o\ psi_i_mod.o psi_l_mod.o psi_s_mod.o psi_d_mod.o psi_c_mod.o psi_z_mod.o -desc/psb_indx_map_mod.o: desc/psb_desc_const_mod.o psb_error_mod.o psb_penv_mod.o +desc/psb_indx_map_mod.o: desc/psb_desc_const_mod.o psb_error_mod.o psb_penv_mod.o psb_realloc_mod.o desc/psb_hash_map_mod.o desc/psb_list_map_mod.o desc/psb_repl_map_mod.o desc/psb_gen_block_map_mod.o:\ desc/psb_indx_map_mod.o desc/psb_desc_const_mod.o \ auxil/psb_sort_mod.o psb_penv_mod.o diff --git a/base/modules/desc/psb_hash_map_mod.f90 b/base/modules/desc/psb_hash_map_mod.f90 index 7120e23c..df775c49 100644 --- a/base/modules/desc/psb_hash_map_mod.f90 +++ b/base/modules/desc/psb_hash_map_mod.f90 @@ -440,6 +440,7 @@ contains end subroutine hash_g2lv1 subroutine hash_g2lv2(idxin,idxout,idxmap,info,mask,owned) + use psb_realloc_mod implicit none class(psb_hash_map), intent(in) :: idxmap integer(psb_lpk_), intent(in) :: idxin(:) @@ -769,6 +770,7 @@ contains end subroutine hash_g2lv1_ins subroutine hash_g2lv2_ins(idxin,idxout,idxmap,info,mask,lidx) + use psb_realloc_mod implicit none class(psb_hash_map), intent(inout) :: idxmap integer(psb_lpk_), intent(in) :: idxin(:) diff --git a/test/hello/Makefile b/test/hello/Makefile index 1a73ff34..44d2d6ee 100644 --- a/test/hello/Makefile +++ b/test/hello/Makefile @@ -1,6 +1,6 @@ BASEDIR=../.. INCDIR=$(BASEDIR)/include -MODDIR=$(INSTALLDIR)/modules/ +MODDIR=$(BASEDIR)/modules/ include $(INCDIR)/Make.inc.psblas # # Libraries used diff --git a/test/pargen/psb_d_pde2d.f90 b/test/pargen/psb_d_pde2d.f90 index 626d0b7b..b88fcd9f 100644 --- a/test/pargen/psb_d_pde2d.f90 +++ b/test/pargen/psb_d_pde2d.f90 @@ -132,7 +132,8 @@ contains type(psb_d_coo_sparse_mat) :: acoo type(psb_d_csr_sparse_mat) :: acsr real(psb_dpk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nt,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 2D partition integer(psb_ipk_) :: npx,npy,npdims(2),iamx,iamy,mynx,myny @@ -140,7 +141,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -182,7 +183,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim + m = (1_psb_lpk_)*idim*idim n = m nnz = ((n*7)/(np)) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n diff --git a/test/pargen/psb_d_pde3d.f90 b/test/pargen/psb_d_pde3d.f90 index 00d30703..8d56972d 100644 --- a/test/pargen/psb_d_pde3d.f90 +++ b/test/pargen/psb_d_pde3d.f90 @@ -61,9 +61,10 @@ module psb_d_pde3d_mod - use psb_base_mod, only : psb_dpk_, psb_ipk_, psb_desc_type,& + use psb_base_mod, only : psb_dpk_, psb_ipk_, psb_lpk_, psb_desc_type,& & psb_dspmat_type, psb_d_vect_type, dzero,& - & psb_d_base_sparse_mat, psb_d_base_vect_type, psb_i_base_vect_type + & psb_d_base_sparse_mat, psb_d_base_vect_type, & + & psb_i_base_vect_type, psb_l_base_vect_type interface function d_func_3d(x,y,z) result(val) @@ -133,7 +134,8 @@ contains type(psb_d_coo_sparse_mat) :: acoo type(psb_d_csr_sparse_mat) :: acsr real(psb_dpk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nt,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 3D partition integer(psb_ipk_) :: npx,npy,npz, npdims(3),iamx,iamy,iamz,mynx,myny,mynz @@ -141,7 +143,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -183,7 +185,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim*idim + m = (1_psb_lpk_*idim)*idim*idim n = m nnz = ((n*9)/(np)) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n diff --git a/test/pargen/psb_s_pde2d.f90 b/test/pargen/psb_s_pde2d.f90 index 30fd69e0..da28721f 100644 --- a/test/pargen/psb_s_pde2d.f90 +++ b/test/pargen/psb_s_pde2d.f90 @@ -132,7 +132,8 @@ contains type(psb_s_coo_sparse_mat) :: acoo type(psb_s_csr_sparse_mat) :: acsr real(psb_spk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nt,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 2D partition integer(psb_ipk_) :: npx,npy,npdims(2),iamx,iamy,mynx,myny @@ -140,7 +141,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_spk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -182,7 +183,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim + m = (1_psb_lpk_)*idim*idim n = m nnz = ((n*7)/(np)) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n diff --git a/test/pargen/psb_s_pde3d.f90 b/test/pargen/psb_s_pde3d.f90 index 64c68a8f..09827f8b 100644 --- a/test/pargen/psb_s_pde3d.f90 +++ b/test/pargen/psb_s_pde3d.f90 @@ -61,9 +61,10 @@ module psb_s_pde3d_mod - use psb_base_mod, only : psb_spk_, psb_ipk_, psb_desc_type,& + use psb_base_mod, only : psb_spk_, psb_ipk_, psb_lpk_, psb_desc_type,& & psb_sspmat_type, psb_s_vect_type, szero,& - & psb_s_base_sparse_mat, psb_s_base_vect_type, psb_i_base_vect_type + & psb_s_base_sparse_mat, psb_s_base_vect_type, & + & psb_i_base_vect_type, psb_l_base_vect_type interface function s_func_3d(x,y,z) result(val) @@ -133,7 +134,8 @@ contains type(psb_s_coo_sparse_mat) :: acoo type(psb_s_csr_sparse_mat) :: acsr real(psb_spk_) :: zt(nb),x,y,z - integer(psb_ipk_) :: m,n,nnz,nr,nt,glob_row,nlr,i,j,ii,ib,k, partition_ + integer(psb_ipk_) :: nnz,nr,nt,nlr,i,j,ii,ib,k, partition_ + integer(psb_lpk_) :: m,n,glob_row integer(psb_ipk_) :: ix,iy,iz,ia,indx_owner ! For 3D partition integer(psb_ipk_) :: npx,npy,npz, npdims(3),iamx,iamy,iamz,mynx,myny,mynz @@ -141,7 +143,7 @@ contains ! Process grid integer(psb_ipk_) :: np, iam integer(psb_ipk_) :: icoeff - integer(psb_ipk_), allocatable :: irow(:),icol(:),myidx(:) + integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_spk_), allocatable :: val(:) ! deltah dimension of each grid cell ! deltat discretization time @@ -183,7 +185,7 @@ contains ! initialize array descriptor and sparse matrix storage. provide an ! estimate of the number of non zeroes - m = idim*idim*idim + m = (1_psb_lpk_*idim)*idim*idim n = m nnz = ((n*9)/(np)) if(iam == psb_root_) write(psb_out_unit,'("Generating Matrix (size=",i0,")...")')n