mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 04:42:08 +00:00
psblas3:
base/modules/Makefile base/modules/psb_c_mat_mod.f03 base/modules/psb_d_csc_mat_mod.f03 base/modules/psb_d_csr_mat_mod.f03 base/modules/psb_d_mat_mod.f03 base/modules/psb_s_mat_mod.f03 base/modules/psb_tools_mod.f90 base/modules/psb_z_mat_mod.f03 base/psblas/psb_cdot.f90 base/psblas/psb_ddot.f90 base/serial/f03/Makefile base/serial/f03/psb_c_csr_impl.f03 base/serial/f03/psb_d_csc_impl.f03 base/tools/psb_cspasb.f90 base/tools/psb_dspasb.f90 test/fileread/runs/cfs.inp test/pargen/Makefile test/pargen/ppde.f90 test/pargen/psb_d_csc_impl.f03 test/pargen/psb_d_csc_mat_mod.f03 util/psb_mat_dist_mod.f90 Added CSC to the basic formats.
This commit is contained in:
+12
-12
@@ -8,10 +8,10 @@ UTIL_MODS = psb_string_mod.o \
|
||||
psi_serial_mod.o psi_mod.o psb_ip_reord_mod.o\
|
||||
psb_check_mod.o psb_gps_mod.o psb_linmap_mod.o psb_hash_mod.o\
|
||||
psb_base_mat_mod.o psb_mat_mod.o\
|
||||
psb_s_base_mat_mod.o psb_s_csr_mat_mod.o psb_s_mat_mod.o \
|
||||
psb_d_base_mat_mod.o psb_d_csr_mat_mod.o psb_d_mat_mod.o \
|
||||
psb_c_base_mat_mod.o psb_c_csr_mat_mod.o psb_c_mat_mod.o \
|
||||
psb_z_base_mat_mod.o psb_z_csr_mat_mod.o psb_z_mat_mod.o
|
||||
psb_s_base_mat_mod.o psb_s_csr_mat_mod.o psb_s_csc_mat_mod.o psb_s_mat_mod.o \
|
||||
psb_d_base_mat_mod.o psb_d_csr_mat_mod.o psb_d_csc_mat_mod.o psb_d_mat_mod.o \
|
||||
psb_c_base_mat_mod.o psb_c_csr_mat_mod.o psb_c_csc_mat_mod.o psb_c_mat_mod.o \
|
||||
psb_z_base_mat_mod.o psb_z_csr_mat_mod.o psb_z_csc_mat_mod.o psb_z_mat_mod.o
|
||||
|
||||
|
||||
MODULES=$(BASIC_MODS) $(UTIL_MODS)
|
||||
@@ -33,14 +33,14 @@ lib: $(BASIC_MODS) blacsmod $(UTIL_MODS) $(OBJS) $(LIBMOD)
|
||||
psb_base_mat_mod.o: psb_string_mod.o psb_sort_mod.o psb_ip_reord_mod.o\
|
||||
psb_error_mod.o psi_serial_mod.o
|
||||
psb_s_base_mat_mod.o psb_d_base_mat_mod.o psb_c_base_mat_mod.o psb_z_base_mat_mod.o: psb_base_mat_mod.o
|
||||
psb_s_mat_mod.o: psb_s_base_mat_mod.o psb_s_csr_mat_mod.o
|
||||
psb_d_mat_mod.o: psb_d_base_mat_mod.o psb_d_csr_mat_mod.o
|
||||
psb_c_mat_mod.o: psb_c_base_mat_mod.o psb_c_csr_mat_mod.o
|
||||
psb_z_mat_mod.o: psb_z_base_mat_mod.o psb_z_csr_mat_mod.o
|
||||
psb_s_csr_mat_mod.o: psb_s_base_mat_mod.o
|
||||
psb_d_csr_mat_mod.o: psb_d_base_mat_mod.o
|
||||
psb_c_csr_mat_mod.o: psb_c_base_mat_mod.o
|
||||
psb_z_csr_mat_mod.o: psb_z_base_mat_mod.o
|
||||
psb_s_mat_mod.o: psb_s_base_mat_mod.o psb_s_csr_mat_mod.o psb_s_csc_mat_mod.o
|
||||
psb_d_mat_mod.o: psb_d_base_mat_mod.o psb_d_csr_mat_mod.o psb_d_csc_mat_mod.o
|
||||
psb_c_mat_mod.o: psb_c_base_mat_mod.o psb_c_csr_mat_mod.o psb_c_csc_mat_mod.o
|
||||
psb_z_mat_mod.o: psb_z_base_mat_mod.o psb_z_csr_mat_mod.o psb_z_csc_mat_mod.o
|
||||
psb_s_csc_mat_mod.o psb_s_csr_mat_mod.o: psb_s_base_mat_mod.o
|
||||
psb_d_csc_mat_mod.o psb_d_csr_mat_mod.o: psb_d_base_mat_mod.o
|
||||
psb_dccsc_mat_mod.o psb_c_csr_mat_mod.o: psb_c_base_mat_mod.o
|
||||
psb_z_csc_mat_mod.o psb_z_csr_mat_mod.o: psb_z_base_mat_mod.o
|
||||
psb_mat_mod.o: psb_s_mat_mod.o psb_d_mat_mod.o psb_c_mat_mod.o psb_z_mat_mod.o
|
||||
psb_realloc_mod.o : psb_error_mod.o
|
||||
psb_spmat_type.o : psb_realloc_mod.o psb_error_mod.o psb_const_mod.o psb_string_mod.o psb_sort_mod.o
|
||||
|
||||
@@ -2,6 +2,7 @@ module psb_c_mat_mod
|
||||
|
||||
use psb_c_base_mat_mod
|
||||
use psb_c_csr_mat_mod
|
||||
use psb_c_csc_mat_mod
|
||||
|
||||
type :: psb_c_sparse_mat
|
||||
|
||||
@@ -1426,7 +1427,6 @@ contains
|
||||
call a%set_dupl(psb_dupl_def_)
|
||||
end if
|
||||
|
||||
write(0,*)name,' ', present(mold), present(type),count( (/present(mold),present(type) /))
|
||||
if (count( (/present(mold),present(type) /)) > 1) then
|
||||
info = 583
|
||||
call psb_errpush(info,name,a_err='TYPE, MOLD')
|
||||
|
||||
@@ -54,8 +54,6 @@ module psb_d_csr_mat_mod
|
||||
& d_mv_csr_to_fmt, d_mv_csr_from_fmt, &
|
||||
& d_csr_scals, d_csr_scal, d_csr_trim, d_csr_csgetrow, d_csr_get_size, &
|
||||
& d_csr_sizeof, d_csr_csgetptn, d_csr_get_nz_row, d_csr_reinit
|
||||
!!$, &
|
||||
!!$ & d_csr_mv_from, d_csr_mv_from
|
||||
|
||||
|
||||
interface
|
||||
|
||||
@@ -2,6 +2,7 @@ module psb_d_mat_mod
|
||||
|
||||
use psb_d_base_mat_mod
|
||||
use psb_d_csr_mat_mod
|
||||
use psb_d_csc_mat_mod
|
||||
|
||||
type :: psb_d_sparse_mat
|
||||
|
||||
@@ -1485,7 +1486,6 @@ contains
|
||||
call a%set_dupl(psb_dupl_def_)
|
||||
end if
|
||||
|
||||
write(0,*)name,' ', present(mold), present(type),count( (/present(mold),present(type) /))
|
||||
if (count( (/present(mold),present(type) /)) > 1) then
|
||||
info = 583
|
||||
call psb_errpush(info,name,a_err='TYPE, MOLD')
|
||||
|
||||
@@ -2,6 +2,7 @@ module psb_s_mat_mod
|
||||
|
||||
use psb_s_base_mat_mod
|
||||
use psb_s_csr_mat_mod
|
||||
use psb_s_csc_mat_mod
|
||||
|
||||
type :: psb_s_sparse_mat
|
||||
|
||||
|
||||
@@ -593,7 +593,7 @@ Module psb_tools_mod
|
||||
character(len=*), optional, intent(in) :: afmt
|
||||
class(psb_d_base_sparse_mat), intent(in), optional :: mold
|
||||
end subroutine psb_dspasb
|
||||
subroutine psb_cspasb(a,desc_a, info, afmt, upd, dupl)
|
||||
subroutine psb_cspasb(a,desc_a, info, afmt, upd, dupl,mold)
|
||||
use psb_descriptor_type
|
||||
use psb_mat_mod
|
||||
type(psb_c_sparse_mat), intent (inout) :: a
|
||||
@@ -601,8 +601,9 @@ Module psb_tools_mod
|
||||
integer, intent(out) :: info
|
||||
integer,optional, intent(in) :: dupl, upd
|
||||
character(len=*), optional, intent(in) :: afmt
|
||||
class(psb_c_base_sparse_mat), intent(in), optional :: mold
|
||||
end subroutine psb_cspasb
|
||||
subroutine psb_zspasb(a,desc_a, info, afmt, upd, dupl)
|
||||
subroutine psb_zspasb(a,desc_a, info, afmt, upd, dupl,mold)
|
||||
use psb_descriptor_type
|
||||
use psb_mat_mod
|
||||
type(psb_z_sparse_mat), intent (inout) :: a
|
||||
@@ -610,6 +611,7 @@ Module psb_tools_mod
|
||||
integer, intent(out) :: info
|
||||
integer,optional, intent(in) :: dupl, upd
|
||||
character(len=*), optional, intent(in) :: afmt
|
||||
class(psb_z_base_sparse_mat), intent(in), optional :: mold
|
||||
end subroutine psb_zspasb
|
||||
end interface
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ module psb_z_mat_mod
|
||||
|
||||
use psb_z_base_mat_mod
|
||||
use psb_z_csr_mat_mod
|
||||
use psb_z_csc_mat_mod
|
||||
|
||||
type :: psb_z_sparse_mat
|
||||
|
||||
|
||||
+16
-16
@@ -63,7 +63,7 @@ function psb_cdot(x, y,desc_a, info, jx, jy)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, ijx, iy, ijy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, ijx, iy, ijy, iiy, jjy, i, m, nr
|
||||
complex(psb_spk_) :: dot_local
|
||||
complex(psb_spk_) :: cdotc
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -121,9 +121,9 @@ function psb_cdot(x, y,desc_a, info, jx, jy)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = cdotc(psb_cd_get_local_rows(desc_a),&
|
||||
& x(iix:,jjx),ione,y(iiy:,jjy),ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = cdotc(nr, x(iix:,jjx),ione,y(iiy:,jjy),ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -215,7 +215,7 @@ function psb_cdotv(x, y,desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, jx, iy, jy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, jx, iy, jy, iiy, jjy, i, m, nr
|
||||
complex(psb_spk_) :: dot_local
|
||||
complex(psb_spk_) :: cdotc
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -258,9 +258,9 @@ function psb_cdotv(x, y,desc_a, info)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = cdotc(psb_cd_get_local_rows(desc_a),&
|
||||
& x,ione,y,ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = cdotc(nr, x,ione,y,ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -352,7 +352,7 @@ subroutine psb_cdotvs(res, x, y,desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m,nr
|
||||
complex(psb_spk_) :: dot_local
|
||||
complex(psb_spk_) :: cdotc
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -392,9 +392,9 @@ subroutine psb_cdotvs(res, x, y,desc_a, info)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = cdotc(psb_cd_get_local_rows(desc_a),&
|
||||
& x,ione,y,ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = cdotc(nr, x,ione,y,ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -487,7 +487,7 @@ subroutine psb_cmdots(res, x, y, desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m, j, k
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m, j, k, nr
|
||||
complex(psb_spk_),allocatable :: dot_local(:)
|
||||
complex(psb_spk_) :: cdotc
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -537,10 +537,10 @@ subroutine psb_cmdots(res, x, y, desc_a, info)
|
||||
allocate(dot_local(k))
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
do j=1,k
|
||||
dot_local(j) = cdotc(psb_cd_get_local_rows(desc_a),&
|
||||
& x(1:,j),ione,y(1:,j),ione)
|
||||
dot_local(j) = cdotc(nr, x(1:,j),ione,y(1:,j),ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
end do
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
|
||||
+17
-16
@@ -63,7 +63,7 @@ function psb_ddot(x, y,desc_a, info, jx, jy)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, ijx, iy, ijy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, ijx, iy, ijy, iiy, jjy, i, m, nr
|
||||
real(psb_dpk_) :: dot_local
|
||||
real(psb_dpk_) :: ddot
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -121,9 +121,9 @@ function psb_ddot(x, y,desc_a, info, jx, jy)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = ddot(psb_cd_get_local_rows(desc_a),&
|
||||
& x(iix:,jjx),ione,y(iiy:,jjy),ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = ddot(nr, x(iix:,jjx),ione,y(iiy:,jjy),ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -215,7 +215,7 @@ function psb_ddotv(x, y,desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, jx, iy, jy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, jx, iy, jy, iiy, jjy, i, m, nr
|
||||
real(psb_dpk_) :: dot_local
|
||||
real(psb_dpk_) :: ddot
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -258,9 +258,10 @@ function psb_ddotv(x, y,desc_a, info)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = ddot(psb_cd_get_local_rows(desc_a),&
|
||||
& x,ione,y,ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = ddot(nr, x,ione,y,ione)
|
||||
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -352,7 +353,7 @@ subroutine psb_ddotvs(res, x, y,desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m, nr
|
||||
real(psb_dpk_) :: dot_local
|
||||
real(psb_dpk_) :: ddot
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -392,9 +393,9 @@ subroutine psb_ddotvs(res, x, y,desc_a, info)
|
||||
end if
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
dot_local = ddot(psb_cd_get_local_rows(desc_a),&
|
||||
& x,ione,y,ione)
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
dot_local = ddot(nr, x,ione,y,ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
idx = desc_a%ovrlap_elem(i,1)
|
||||
@@ -487,7 +488,7 @@ subroutine psb_dmdots(res, x, y, desc_a, info)
|
||||
|
||||
! locals
|
||||
integer :: ictxt, np, me, idx, ndm,&
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m, j, k
|
||||
& err_act, iix, jjx, ix, iy, iiy, jjy, i, m, j, k, nr
|
||||
real(psb_dpk_),allocatable :: dot_local(:)
|
||||
real(psb_dpk_) :: ddot
|
||||
character(len=20) :: name, ch_err
|
||||
@@ -537,10 +538,10 @@ subroutine psb_dmdots(res, x, y, desc_a, info)
|
||||
allocate(dot_local(k))
|
||||
|
||||
if(m /= 0) then
|
||||
if(psb_cd_get_local_rows(desc_a) > 0) then
|
||||
nr = psb_cd_get_local_rows(desc_a)
|
||||
if(nr > 0) then
|
||||
do j=1,k
|
||||
dot_local(j) = ddot(psb_cd_get_local_rows(desc_a),&
|
||||
& x(1:,j),ione,y(1:,j),ione)
|
||||
dot_local(j) = ddot(nr,x(1:,j),ione,y(1:,j),ione)
|
||||
! adjust dot_local because overlapped elements are computed more than once
|
||||
end do
|
||||
do i=1,size(desc_a%ovrlap_elem,1)
|
||||
|
||||
@@ -3,8 +3,9 @@ include ../../../Make.inc
|
||||
#
|
||||
# The object files
|
||||
#
|
||||
FOBJS = psb_s_csr_impl.o psb_s_coo_impl.o psb_d_csr_impl.o psb_d_coo_impl.o\
|
||||
psb_c_csr_impl.o psb_c_coo_impl.o psb_z_csr_impl.o psb_z_coo_impl.o
|
||||
FOBJS = psb_s_csr_impl.o psb_c_csr_impl.o psb_d_csr_impl.o psb_z_csr_impl.o\
|
||||
psb_s_coo_impl.o psb_c_coo_impl.o psb_d_coo_impl.o psb_z_coo_impl.o\
|
||||
psb_s_csc_impl.o psb_c_csc_impl.o psb_d_csc_impl.o psb_z_csc_impl.o
|
||||
|
||||
OBJS=$(FOBJS)
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ subroutine c_csr_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
tra = (psb_toupper(trans_)=='T')
|
||||
ctra = (psb_toupper(trans_)=='C')
|
||||
|
||||
if (tra) then
|
||||
if (tra.or.ctra) then
|
||||
m = a%get_ncols()
|
||||
n = a%get_nrows()
|
||||
else
|
||||
|
||||
@@ -226,7 +226,7 @@ subroutine d_csc_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
end do
|
||||
end if
|
||||
|
||||
if (alpha.eq.done) then
|
||||
if (alpha == done) then
|
||||
|
||||
do i=1,n
|
||||
do j=a%icp(i), a%icp(i+1)-1
|
||||
@@ -235,7 +235,7 @@ subroutine d_csc_csmv_impl(alpha,a,x,beta,y,info,trans)
|
||||
end do
|
||||
enddo
|
||||
|
||||
else if (alpha.eq.-done) then
|
||||
else if (alpha == -done) then
|
||||
|
||||
do i=1,n
|
||||
do j=a%icp(i), a%icp(i+1)-1
|
||||
@@ -496,7 +496,7 @@ subroutine d_csc_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
end do
|
||||
end if
|
||||
|
||||
if (alpha.eq.done) then
|
||||
if (alpha == done) then
|
||||
|
||||
do i=1,n
|
||||
do j=a%icp(i), a%icp(i+1)-1
|
||||
@@ -505,7 +505,7 @@ subroutine d_csc_csmm_impl(alpha,a,x,beta,y,info,trans)
|
||||
end do
|
||||
enddo
|
||||
|
||||
else if (alpha.eq.-done) then
|
||||
else if (alpha == -done) then
|
||||
|
||||
do i=1,n
|
||||
do j=a%icp(i), a%icp(i+1)-1
|
||||
@@ -119,7 +119,6 @@ subroutine psb_cspasb(a,desc_a, info, afmt, upd, dupl,mold)
|
||||
call a%set_ncols(n_col)
|
||||
end if
|
||||
|
||||
write(0,*)name,' ', present(mold), present(afmt),count( (/present(mold),present(afmt) /))
|
||||
call a%cscnv(info,type=afmt,dupl=dupl, mold=mold)
|
||||
|
||||
|
||||
|
||||
@@ -118,7 +118,6 @@ subroutine psb_dspasb(a,desc_a, info, afmt, upd, dupl, mold)
|
||||
call a%set_ncols(n_col)
|
||||
end if
|
||||
|
||||
write(0,*)name,' ', present(mold), present(afmt),count( (/present(mold),present(afmt) /))
|
||||
call a%cscnv(info,type=afmt,dupl=dupl, mold=mold)
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ young1c.mtx This (and others) from: http://math.nist.gov/MatrixMarket/
|
||||
NONE http://www.cise.ufl.edu/research/sparse/matrices/index.html
|
||||
MM File format: MM: Matrix Market HB: Harwell-Boeing.
|
||||
BICGSTAB Iterative method: BiCGSTAB CGS RGMRES BiCGSTABL BICG CG
|
||||
DIAG Preconditioner NONE DIAG BJAC
|
||||
BJAC Preconditioner NONE DIAG BJAC
|
||||
CSR Storage format CSR COO JAD
|
||||
0 IPART: Partition method 0: BLK 2: graph (with Metis)
|
||||
2 ISTOPC
|
||||
|
||||
@@ -16,11 +16,10 @@ EXEDIR=./runs
|
||||
|
||||
all: ppde spde
|
||||
|
||||
ppde: ppde.o psb_d_csc_impl.o psb_d_csc_mat_mod.o
|
||||
$(F90LINK) -pg ppde.o psb_d_csc_impl.o psb_d_csc_mat_mod.o -o ppde $(PSBLAS_LIB) $(LDLIBS)
|
||||
ppde: ppde.o
|
||||
$(F90LINK) -pg ppde.o -o ppde $(PSBLAS_LIB) $(LDLIBS)
|
||||
/bin/mv ppde $(EXEDIR)
|
||||
|
||||
psb_d_csc_impl.o ppde.o: psb_d_csc_mat_mod.o
|
||||
|
||||
spde: spde.o
|
||||
$(F90LINK) spde.o -o spde $(PSBLAS_LIB) $(LDLIBS)
|
||||
|
||||
@@ -341,7 +341,6 @@ contains
|
||||
!
|
||||
use psb_base_mod
|
||||
use psb_d_mat_mod
|
||||
use psb_d_csc_mat_mod
|
||||
implicit none
|
||||
integer :: idim
|
||||
integer, parameter :: nb=20
|
||||
|
||||
@@ -1324,7 +1324,6 @@ contains
|
||||
goto 9999
|
||||
end if
|
||||
|
||||
write(0,*)name,' Calling spasb',psb_dupl_err_,' ',afmt
|
||||
call psb_barrier(ictxt)
|
||||
t2 = psb_wtime()
|
||||
call psb_spasb(a,desc_a,info,dupl=psb_dupl_err_,afmt=afmt)
|
||||
|
||||
Reference in New Issue
Block a user