base/modules/psb_sort_mod.f90
 base/modules/psi_penv_mod.F90
 configure.ac
 configure
 test/fileread/runs/dfs.inp

misc fixes to configure, interfaces for sorting, how to call mpi_init.
psblas3-type-indexed
Salvatore Filippone 14 years ago
parent 3bf487d6e4
commit 1c3a1f938c

@ -647,4 +647,77 @@ module psb_sort_mod
end interface end interface
interface psb_free_heap
module procedure psb_free_int_heap, psb_free_int_idx_heap,&
& psb_free_real_idx_heap, psb_free_scomplex_idx_heap, &
& psb_free_double_idx_heap, psb_free_dcomplex_idx_heap
end interface
contains
subroutine psb_free_int_heap(heap,info)
implicit none
type(psb_int_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
end subroutine psb_free_int_heap
subroutine psb_free_real_idx_heap(heap,info)
implicit none
type(psb_real_idx_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
if ((info == psb_success_).and.(allocated(heap%idxs))) deallocate(heap%idxs,stat=info)
end subroutine psb_free_real_idx_heap
subroutine psb_free_double_idx_heap(heap,info)
implicit none
type(psb_double_idx_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
if ((info == psb_success_).and.(allocated(heap%idxs))) deallocate(heap%idxs,stat=info)
end subroutine psb_free_double_idx_heap
subroutine psb_free_int_idx_heap(heap,info)
implicit none
type(psb_int_idx_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
if ((info == psb_success_).and.(allocated(heap%idxs))) deallocate(heap%idxs,stat=info)
end subroutine psb_free_int_idx_heap
subroutine psb_free_scomplex_idx_heap(heap,info)
implicit none
type(psb_scomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
if ((info == psb_success_).and.(allocated(heap%idxs))) deallocate(heap%idxs,stat=info)
end subroutine psb_free_scomplex_idx_heap
subroutine psb_free_dcomplex_idx_heap(heap,info)
implicit none
type(psb_dcomplex_idx_heap), intent(inout) :: heap
integer, intent(out) :: info
info=psb_success_
if (allocated(heap%keys)) deallocate(heap%keys,stat=info)
if ((info == psb_success_).and.(allocated(heap%idxs))) deallocate(heap%idxs,stat=info)
end subroutine psb_free_dcomplex_idx_heap
end module psb_sort_mod end module psb_sort_mod

@ -146,7 +146,7 @@ contains
#else #else
call mpi_initialized(initialized,info) call mpi_initialized(initialized,info)
if ((.not.initialized).or.(info /= mpi_success)) then if ((.not.initialized).or.(info /= mpi_success)) then
call mpi_init(info) if (info == mpi_success) call mpi_init(info)
if (info /= mpi_success) then if (info /= mpi_success) then
write(psb_err_unit,*) 'Error in initalizing MPI, bailing out',info write(psb_err_unit,*) 'Error in initalizing MPI, bailing out',info
stop stop

4
configure vendored

@ -557,7 +557,7 @@ PACKAGE_STRING='PSBLAS 3.0'
PACKAGE_BUGREPORT='salvatore.filippone@uniroma2.it' PACKAGE_BUGREPORT='salvatore.filippone@uniroma2.it'
PACKAGE_URL='' PACKAGE_URL=''
ac_unique_file="base/modules/psb_sparse_mod.f90" ac_unique_file="base/modules/psb_base_mod.f90"
# Factoring default headers for most tests. # Factoring default headers for most tests.
ac_includes_default="\ ac_includes_default="\
#include <stdio.h> #include <stdio.h>
@ -6213,7 +6213,7 @@ else
fi fi
if test "X$psblas_cv_fc" == X"nag" ; then if test "X$psblas_cv_fc" == X"nag" ; then
# Add needed options # Add needed options
F90COPT="$F90COPT -dcfuns -f2003 -wmismatch=mpi_scatterv,mpi_alltoallv,mpi_gatherv,mpi_allgatherv" F90COPT="$F90COPT -dcfuns -f2003 -mismatch=mpi_scatterv,mpi_alltoallv,mpi_gatherv,mpi_allgatherv"
EXTRA_OPT="-mismatch_all" EXTRA_OPT="-mismatch_all"
fi fi

@ -425,7 +425,7 @@ else
fi fi
if test "X$psblas_cv_fc" == X"nag" ; then if test "X$psblas_cv_fc" == X"nag" ; then
# Add needed options # Add needed options
F90COPT="$F90COPT -dcfuns -f2003 -wmismatch=mpi_scatterv,mpi_alltoallv,mpi_gatherv,mpi_allgatherv" F90COPT="$F90COPT -dcfuns -f2003 -mismatch=mpi_scatterv,mpi_alltoallv,mpi_gatherv,mpi_allgatherv"
EXTRA_OPT="-mismatch_all" EXTRA_OPT="-mismatch_all"
fi fi

@ -1,5 +1,5 @@
11 Number of inputs 11 Number of inputs
thm1000x600.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or thm200x120.mtx This (and others) from: http://math.nist.gov/MatrixMarket/ or
NONE sherman3_rhs1.mtx http://www.cise.ufl.edu/research/sparse/matrices/index.html NONE sherman3_rhs1.mtx http://www.cise.ufl.edu/research/sparse/matrices/index.html
MM File format: MM: Matrix Market HB: Harwell-Boeing. MM File format: MM: Matrix Market HB: Harwell-Boeing.
BICGSTAB Iterative method: BiCGSTAB CGS RGMRES BiCGSTABL BICG CG BICGSTAB Iterative method: BiCGSTAB CGS RGMRES BiCGSTABL BICG CG

Loading…
Cancel
Save