mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-11 00:19:05 +00:00
Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
032543d625 | ||
|
|
07149a02ad | ||
|
|
08a0c744b1 | ||
|
|
60324084d8 | ||
|
|
aec5a52c7f |
+1
-1
@@ -49,7 +49,7 @@ PSBLAS_INCLUDES=@PSBLAS_INCLUDES@
|
||||
PSBLAS_LIBS=@PSBLAS_LIBS@
|
||||
PSBBASEMODNAME=psb_base_mod
|
||||
PSBPRECMODNAME=psb_prec_mod
|
||||
PSBMETHDMODNAME=psb_krylov_mod
|
||||
PSBMETHDMODNAME=psb_linsolve_mod
|
||||
PSBUTILMODNAME=psb_util_mod
|
||||
|
||||
|
||||
|
||||
@@ -46,6 +46,7 @@ cleanlib:
|
||||
|
||||
veryclean: cleanlib
|
||||
(cd amgprec && $(MAKE) veryclean)
|
||||
(cd cbind && $(MAKE) veryclean)
|
||||
(cd samples/simple/fileread && $(MAKE) clean)
|
||||
(cd samples/simple/pdegen && $(MAKE) clean)
|
||||
(cd samples/advanced/fileread && $(MAKE) clean)
|
||||
@@ -56,3 +57,4 @@ check: all
|
||||
|
||||
clean:
|
||||
(cd amgprec && $(MAKE) clean)
|
||||
(cd cbind && $(MAKE) clean)
|
||||
|
||||
@@ -127,8 +127,7 @@ subroutine amg_c_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
ivr = lv%linmap%p_desc_U%get_global_indices(owned=.false.)
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
end if
|
||||
end if
|
||||
else
|
||||
@@ -151,8 +150,7 @@ subroutine amg_c_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
if (tprol_) then
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head)
|
||||
call lv%tprol%print(fname,head=head)
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -127,8 +127,7 @@ subroutine amg_d_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
ivr = lv%linmap%p_desc_U%get_global_indices(owned=.false.)
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
end if
|
||||
end if
|
||||
else
|
||||
@@ -151,8 +150,7 @@ subroutine amg_d_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
if (tprol_) then
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head)
|
||||
call lv%tprol%print(fname,head=head)
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -127,8 +127,7 @@ subroutine amg_s_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
ivr = lv%linmap%p_desc_U%get_global_indices(owned=.false.)
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
end if
|
||||
end if
|
||||
else
|
||||
@@ -151,8 +150,7 @@ subroutine amg_s_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
if (tprol_) then
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head)
|
||||
call lv%tprol%print(fname,head=head)
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -127,8 +127,7 @@ subroutine amg_z_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
ivr = lv%linmap%p_desc_U%get_global_indices(owned=.false.)
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
call lv%tprol%print(fname,head=head,ivr=ivr)
|
||||
end if
|
||||
end if
|
||||
else
|
||||
@@ -151,8 +150,7 @@ subroutine amg_z_base_onelev_dump(lv,level,info,prefix,head,ac,rp,&
|
||||
if (tprol_) then
|
||||
write(fname(lname+1:),'(a,i3.3,a)')'_l',level,'_tprol.mtx'
|
||||
!
|
||||
! This is not implemented yet.
|
||||
!call lv%tprol%print(fname,head=head)
|
||||
call lv%tprol%print(fname,head=head)
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_c_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_c_jac_smoother, amg_protect_name => amg_c_jac_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_d_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_d_jac_smoother, amg_protect_name => amg_d_jac_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_d_poly_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_d_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_d_poly_smoother, amg_protect_name => amg_d_poly_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_s_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_s_jac_smoother, amg_protect_name => amg_s_jac_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_s_poly_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_s_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_s_poly_smoother, amg_protect_name => amg_s_poly_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_z_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_z_jac_smoother, amg_protect_name => amg_z_jac_smoother_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_c_jac_solver_apply(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_c_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_c_jac_solver, amg_protect_name => amg_c_jac_solver_apply
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_c_jac_solver_apply_vect(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_c_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_c_jac_solver, amg_protect_name => amg_c_jac_solver_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -169,7 +169,7 @@ subroutine amg_c_krm_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
|
||||
& trans,work,wv,info,init,initu)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use amg_c_krm_solver, amg_protect_name => amg_c_krm_solver_apply_vect
|
||||
|
||||
Implicit None
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_d_jac_solver_apply(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_d_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_d_jac_solver, amg_protect_name => amg_d_jac_solver_apply
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_d_jac_solver_apply_vect(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_d_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_d_jac_solver, amg_protect_name => amg_d_jac_solver_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -169,7 +169,7 @@ subroutine amg_d_krm_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
|
||||
& trans,work,wv,info,init,initu)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use amg_d_krm_solver, amg_protect_name => amg_d_krm_solver_apply_vect
|
||||
|
||||
Implicit None
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_s_jac_solver_apply(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_s_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_s_jac_solver, amg_protect_name => amg_s_jac_solver_apply
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_s_jac_solver_apply_vect(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_s_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_s_jac_solver, amg_protect_name => amg_s_jac_solver_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -169,7 +169,7 @@ subroutine amg_s_krm_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
|
||||
& trans,work,wv,info,init,initu)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use amg_s_krm_solver, amg_protect_name => amg_s_krm_solver_apply_vect
|
||||
|
||||
Implicit None
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_z_jac_solver_apply(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_z_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_z_jac_solver, amg_protect_name => amg_z_jac_solver_apply
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -40,7 +40,7 @@ subroutine amg_z_jac_solver_apply_vect(alpha,sv,x,beta,y,desc_data,trans,&
|
||||
|
||||
use psb_base_mod
|
||||
use amg_z_diag_solver
|
||||
use psb_base_krylov_conv_mod, only : log_conv
|
||||
use psb_base_linsolve_conv_mod, only : log_conv
|
||||
use amg_z_jac_solver, amg_protect_name => amg_z_jac_solver_apply_vect
|
||||
implicit none
|
||||
type(psb_desc_type), intent(in) :: desc_data
|
||||
|
||||
@@ -169,7 +169,7 @@ subroutine amg_z_krm_solver_apply_vect(alpha,sv,x,beta,y,desc_data,&
|
||||
& trans,work,wv,info,init,initu)
|
||||
|
||||
use psb_base_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use amg_z_krm_solver, amg_protect_name => amg_z_krm_solver_apply_vect
|
||||
|
||||
Implicit None
|
||||
|
||||
@@ -264,7 +264,7 @@ contains
|
||||
& ah,ph,bh,xh,cdh,options) bind(c) result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_prec_cbind_mod
|
||||
use psb_dkrylov_cbind_mod
|
||||
implicit none
|
||||
@@ -285,7 +285,7 @@ contains
|
||||
& ah,ph,bh,xh,eps,cdh,itmax,iter,err,itrace,irst,istop) bind(c) result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_objhandle_mod
|
||||
use psb_prec_cbind_mod
|
||||
use psb_base_string_cbind_mod
|
||||
|
||||
@@ -264,7 +264,7 @@ contains
|
||||
& ah,ph,bh,xh,cdh,options) bind(c) result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_prec_cbind_mod
|
||||
use psb_zkrylov_cbind_mod
|
||||
implicit none
|
||||
@@ -285,7 +285,7 @@ contains
|
||||
& ah,ph,bh,xh,eps,cdh,itmax,iter,err,itrace,irst,istop) bind(c) result(res)
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_objhandle_mod
|
||||
use psb_prec_cbind_mod
|
||||
use psb_base_string_cbind_mod
|
||||
|
||||
@@ -9,8 +9,8 @@ HERE=.
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(LIBDIR) $(FMFLAG)$(PSBLAS_INCDIR)
|
||||
#PSBLAS_LIBS= -L$(PSBLAS_LIBDIR) -L$(LIBDIR) $(CPSBLAS_LIB) $(PSBLAS_LIB)
|
||||
# -lpsb_krylov_cbind -lpsb_prec_cbind -lpsb_base_cbind
|
||||
PSBC_LIBS= -L$(PSBLAS_LIBDIR) -lpsb_cbind -lpsb_krylov -lpsb_prec
|
||||
MLDC_LIBS=-L$(LIBDIR) -lmld_cbind -lmld_prec
|
||||
PSBC_LIBS= -L$(PSBLAS_LIBDIR) -lpsb_cbind -lpsb_linsolve -lpsb_prec
|
||||
AMGC_LIBS=-L$(LIBDIR) -lamg_cbind -lamg_prec
|
||||
#
|
||||
# Compilers and such
|
||||
#
|
||||
@@ -23,15 +23,15 @@ EXEDIR=./runs
|
||||
#UMFLIBS=-lumfpack -lamd -lcholmod -lcolamd -lcamd -lccolamd -L/usr/include/suitesparse
|
||||
#UMFFLAGS=-DHave_UMF_ -I/usr/include/suitesparse
|
||||
|
||||
all: mldec
|
||||
all: amgec
|
||||
|
||||
mldec: mldec.o
|
||||
$(MPFC) mldec.o -o mldec $(MLDC_LIBS) $(PSBC_LIBS) $(PSBCLDLIBS) $(PSBLAS_LIBS) \
|
||||
amgec: amgec.o
|
||||
$(MPFC) amgec.o -o amgec $(AMGC_LIBS) $(PSBC_LIBS) $(PSBCLDLIBS) $(PSBLAS_LIBS) \
|
||||
$(UMFLIBS) $(PSBLDLIBS) $(LDLIBS) -lm -lgfortran
|
||||
# \
|
||||
# -lifcore -lifcoremt -lguide -limf -lirc -lintlc -lcxaguard -L/opt/intel/fc/10.0.023/lib/ -lm
|
||||
|
||||
/bin/mv mldec $(EXEDIR)
|
||||
/bin/mv amgec $(EXEDIR)
|
||||
|
||||
.f90.o:
|
||||
$(MPFC) $(F90COPT) $(FINCLUDES) $(FDEFINES) -c $<
|
||||
@@ -40,13 +40,13 @@ mldec: mldec.o
|
||||
|
||||
|
||||
clean:
|
||||
/bin/rm -f mldec.o $(EXEDIR)/mldec
|
||||
/bin/rm -f amgec.o $(EXEDIR)/amgec
|
||||
verycleanlib:
|
||||
(cd ../..; make veryclean)
|
||||
lib:
|
||||
(cd ../../; make library)
|
||||
|
||||
tests: all
|
||||
cd runs ; ./mldec < mlde.inp
|
||||
cd runs ; ./amgec < amge.inp
|
||||
|
||||
|
||||
|
||||
+44
-41
@@ -77,7 +77,7 @@
|
||||
#include <math.h>
|
||||
|
||||
#include "psb_base_cbind.h"
|
||||
#include "mld_cbind.h"
|
||||
#include "amg_cbind.h"
|
||||
|
||||
|
||||
double a1(double x, double y, double z)
|
||||
@@ -123,7 +123,7 @@ double g(double x, double y, double z)
|
||||
|
||||
#define NBMAX 20
|
||||
|
||||
psb_i_t matgen(psb_i_t ictxt, psb_i_t nl, psb_i_t idim, psb_l_t vl[],
|
||||
psb_i_t matgen(psb_c_ctxt cctxt, psb_i_t nl, psb_i_t idim, psb_l_t vl[],
|
||||
psb_c_dspmat *ah,psb_c_descriptor *cdh,
|
||||
psb_c_dvector *xh, psb_c_dvector *bh, psb_c_dvector *rh)
|
||||
{
|
||||
@@ -135,7 +135,7 @@ psb_i_t matgen(psb_i_t ictxt, psb_i_t nl, psb_i_t idim, psb_l_t vl[],
|
||||
psb_l_t irow[10*NBMAX], icol[10*NBMAX];
|
||||
|
||||
info = 0;
|
||||
psb_c_info(ictxt,&iam,&np);
|
||||
psb_c_info(cctxt,&iam,&np);
|
||||
deltah = (double) 1.0/(idim+1);
|
||||
sqdeltah = deltah*deltah;
|
||||
deltah2 = 2.0* deltah;
|
||||
@@ -253,11 +253,12 @@ void get_hparm(FILE *fp, char *val)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
psb_i_t ictxt, iam, np;
|
||||
psb_c_ctxt *cctxt;
|
||||
psb_i_t iam, np;
|
||||
char methd[40], ptype[40], afmt[8];
|
||||
psb_i_t nparms;
|
||||
psb_i_t idim,info,istop,itmax,itrace,irst,iter,ret;
|
||||
mld_c_dprec *ph;
|
||||
amg_c_dprec *ph;
|
||||
psb_c_dspmat *ah;
|
||||
psb_c_dvector *bh, *xh, *rh;
|
||||
psb_i_t nb,nlr, nl;
|
||||
@@ -269,12 +270,13 @@ int main(int argc, char *argv[])
|
||||
psb_c_descriptor *cdh;
|
||||
FILE *vectfile;
|
||||
|
||||
ictxt = psb_c_init();
|
||||
psb_c_info(ictxt,&iam,&np);
|
||||
cctxt = psb_c_new_ctxt();
|
||||
psb_c_init(cctxt);
|
||||
psb_c_info(*cctxt,&iam,&np);
|
||||
fprintf(stdout,"Initialization: am %d of %d\n",iam,np);
|
||||
|
||||
fflush(stdout);
|
||||
psb_c_barrier(ictxt);
|
||||
psb_c_barrier(*cctxt);
|
||||
if (iam == 0) {
|
||||
get_iparm(stdin,&nparms);
|
||||
get_hparm(stdin,methd);
|
||||
@@ -287,17 +289,17 @@ int main(int argc, char *argv[])
|
||||
get_iparm(stdin,&irst);
|
||||
}
|
||||
/* Now broadcast the values, and check they're OK */
|
||||
psb_c_ibcast(ictxt,1,&nparms,0);
|
||||
psb_c_hbcast(ictxt,methd,0);
|
||||
psb_c_hbcast(ictxt,ptype,0);
|
||||
psb_c_hbcast(ictxt,afmt,0);
|
||||
psb_c_ibcast(ictxt,1,&idim,0);
|
||||
psb_c_ibcast(ictxt,1,&istop,0);
|
||||
psb_c_ibcast(ictxt,1,&itmax,0);
|
||||
psb_c_ibcast(ictxt,1,&itrace,0);
|
||||
psb_c_ibcast(ictxt,1,&irst,0);
|
||||
psb_c_ibcast(*cctxt,1,&nparms,0);
|
||||
psb_c_hbcast(*cctxt,methd,0);
|
||||
psb_c_hbcast(*cctxt,ptype,0);
|
||||
psb_c_hbcast(*cctxt,afmt,0);
|
||||
psb_c_ibcast(*cctxt,1,&idim,0);
|
||||
psb_c_ibcast(*cctxt,1,&istop,0);
|
||||
psb_c_ibcast(*cctxt,1,&itmax,0);
|
||||
psb_c_ibcast(*cctxt,1,&itrace,0);
|
||||
psb_c_ibcast(*cctxt,1,&irst,0);
|
||||
|
||||
psb_c_barrier(ictxt);
|
||||
psb_c_barrier(*cctxt);
|
||||
|
||||
cdh=psb_c_new_descriptor();
|
||||
psb_c_set_index_base(0);
|
||||
@@ -310,15 +312,15 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr,"%d: Input data %d %ld %d %d\n",iam,idim,ng,nb, nl);
|
||||
if ((vl=malloc(nb*sizeof(psb_l_t)))==NULL) {
|
||||
fprintf(stderr,"On %d: malloc failure\n",iam);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
i = ((psb_l_t)iam) * nb;
|
||||
for (k=0; k<nl; k++)
|
||||
vl[k] = i+k;
|
||||
|
||||
if ((info=psb_c_cdall_vl(nl,vl,ictxt,cdh))!=0) {
|
||||
if ((info=psb_c_cdall_vl(nl,vl,*cctxt,cdh))!=0) {
|
||||
fprintf(stderr,"From cdall: %d\nBailing out\n",info);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
|
||||
bh = psb_c_new_dvector();
|
||||
@@ -337,25 +339,25 @@ int main(int argc, char *argv[])
|
||||
|
||||
|
||||
/* Matrix generation */
|
||||
if (matgen(ictxt,nl,idim,vl,ah,cdh,xh,bh,rh) != 0) {
|
||||
if (matgen(*cctxt,nl,idim,vl,ah,cdh,xh,bh,rh) != 0) {
|
||||
fprintf(stderr,"Error during matrix build loop\n");
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
psb_c_barrier(ictxt);
|
||||
psb_c_barrier(*cctxt);
|
||||
/* Set up the preconditioner */
|
||||
ph = mld_c_dprec_new();
|
||||
mld_c_dprecinit(ictxt,ph,ptype);
|
||||
mld_c_dprecseti(ph,"SMOOTHER_SWEEPS",2);
|
||||
mld_c_dprecseti(ph,"SUB_FILLIN",1);
|
||||
mld_c_dprecsetc(ph,"COARSE_SOLVE","BJAC");
|
||||
mld_c_dprecsetc(ph,"COARSE_SUBSOLVE","ILU");
|
||||
mld_c_dprecseti(ph,"COARSE_FILLIN",0);
|
||||
if ((ret=mld_c_dhierarchy_build(ah,cdh,ph))!=0)
|
||||
ph = amg_c_dprec_new();
|
||||
amg_c_dprecinit(*cctxt,ph,ptype);
|
||||
amg_c_dprecseti(ph,"SMOOTHER_SWEEPS",2);
|
||||
amg_c_dprecseti(ph,"SUB_FILLIN",1);
|
||||
amg_c_dprecsetc(ph,"COARSE_SOLVE","BJAC");
|
||||
amg_c_dprecsetc(ph,"COARSE_SUBSOLVE","ILU");
|
||||
amg_c_dprecseti(ph,"COARSE_FILLIN",0);
|
||||
if ((ret=amg_c_dhierarchy_build(ah,cdh,ph))!=0)
|
||||
fprintf(stderr,"From hierarchy_build: %d\n",ret);
|
||||
if ((ret=mld_c_dsmoothers_build(ah,cdh,ph))!=0)
|
||||
if ((ret=amg_c_dsmoothers_build(ah,cdh,ph))!=0)
|
||||
fprintf(stderr,"From smoothers_build: %d\n",ret);
|
||||
|
||||
psb_c_barrier(ictxt);
|
||||
psb_c_barrier(*cctxt);
|
||||
/* Set up the solver options */
|
||||
psb_c_DefaultSolverOptions(&options);
|
||||
options.eps = 1.e-6;
|
||||
@@ -365,7 +367,7 @@ int main(int argc, char *argv[])
|
||||
options.istop = istop;
|
||||
psb_c_seterraction_ret();
|
||||
t1=psb_c_wtime();
|
||||
ret=mld_c_dkrylov(methd,ah,ph,bh,xh,cdh,&options);
|
||||
ret=amg_c_dkrylov(methd,ah,ph,bh,xh,cdh,&options);
|
||||
t2=psb_c_wtime();
|
||||
iter = options.iter;
|
||||
err = options.err;
|
||||
@@ -413,20 +415,20 @@ int main(int argc, char *argv[])
|
||||
/* Clean up memory */
|
||||
if ((info=psb_c_dgefree(xh,cdh))!=0) {
|
||||
fprintf(stderr,"From dgefree: %d\nBailing out\n",info);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
if ((info=psb_c_dgefree(bh,cdh))!=0) {
|
||||
fprintf(stderr,"From dgefree: %d\nBailing out\n",info);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
if ((info=psb_c_dgefree(rh,cdh))!=0) {
|
||||
fprintf(stderr,"From dgefree: %d\nBailing out\n",info);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
|
||||
if ((info=psb_c_cdfree(cdh))!=0) {
|
||||
fprintf(stderr,"From cdfree: %d\nBailing out\n",info);
|
||||
psb_c_abort(ictxt);
|
||||
psb_c_abort(*cctxt);
|
||||
}
|
||||
//fprintf(stderr,"pointer from cdfree: %p\n",cdh->descriptor);
|
||||
|
||||
@@ -440,6 +442,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (iam == 0) fprintf(stderr,"program completed successfully\n");
|
||||
|
||||
psb_c_barrier(ictxt);
|
||||
psb_c_exit(ictxt);
|
||||
psb_c_barrier(*cctxt);
|
||||
psb_c_exit(*cctxt);
|
||||
free(cctxt);
|
||||
}
|
||||
|
||||
+2
-2
@@ -409,7 +409,7 @@ save_LDFLAGS=$LDFLAGS;
|
||||
## dnl AC_MSG_NOTICE([psblas dir $pac_cv_psblas_dir])
|
||||
## PSBLAS_LIBS="-L$pac_cv_psblas_dir/lib"
|
||||
## fi
|
||||
PSBLAS_LIBS="-lpsb_krylov -lpsb_prec -lpsb_util -lpsb_base -L$PSBLAS_LIBDIR"
|
||||
PSBLAS_LIBS="-lpsb_linsolve -lpsb_prec -lpsb_util -lpsb_base -L$PSBLAS_LIBDIR"
|
||||
LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS"
|
||||
|
||||
dnl ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/include $FMFLAG$PSBLAS_DIR/lib conftest.$ac_ext 1>&5'
|
||||
@@ -484,7 +484,7 @@ dnl AC_MSG_NOTICE([psblas dir $pac_cv_psblas_dir])
|
||||
PSBLAS_INCLUDES="$FMFLAG$pac_cv_psblas_dir/modules $PSBLAS_INCLUDES"
|
||||
fi
|
||||
FCFLAGS=" $PSBLAS_INCLUDES $save_FCFLAGS"
|
||||
PSBLAS_LIBS="-lpsb_krylov -lpsb_prec -lpsb_util -lpsb_base $PSBLAS_LIBS"
|
||||
PSBLAS_LIBS="-lpsb_linsolve -lpsb_prec -lpsb_util -lpsb_base $PSBLAS_LIBS"
|
||||
LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS"
|
||||
|
||||
dnl ac_compile='${MPIFC-$FC} -c -o conftest${ac_objext} $FMFLAG$PSBLAS_DIR/include $FMFLAG$PSBLAS_DIR/lib conftest.$ac_ext 1>&5'
|
||||
|
||||
@@ -7417,7 +7417,7 @@ then
|
||||
FIFLAG="-I"
|
||||
BASEMODNAME=PSB_BASE_MOD
|
||||
PRECMODNAME=PSB_PREC_MOD
|
||||
METHDMODNAME=PSB_KRYLOV_MOD
|
||||
METHDMODNAME=PSB_LINSOLVE_MOD
|
||||
UTILMODNAME=PSB_UTIL_MOD
|
||||
|
||||
else
|
||||
@@ -7550,7 +7550,7 @@ printf "%s\n" "$ax_cv_f90_modflag" >&6; }
|
||||
FIFLAG=-I
|
||||
BASEMODNAME=psb_base_mod
|
||||
PRECMODNAME=psb_prec_mod
|
||||
METHDMODNAME=psb_krylov_mod
|
||||
METHDMODNAME=psb_linsolve_mod
|
||||
UTILMODNAME=psb_util_mod
|
||||
fi
|
||||
|
||||
@@ -7683,7 +7683,7 @@ save_LDFLAGS=$LDFLAGS;
|
||||
## dnl AC_MSG_NOTICE([psblas dir $pac_cv_psblas_dir])
|
||||
## PSBLAS_LIBS="-L$pac_cv_psblas_dir/lib"
|
||||
## fi
|
||||
PSBLAS_LIBS="-lpsb_krylov -lpsb_prec -lpsb_util -lpsb_base -L$PSBLAS_LIBDIR"
|
||||
PSBLAS_LIBS="-lpsb_linsolve -lpsb_prec -lpsb_util -lpsb_base -L$PSBLAS_LIBDIR"
|
||||
LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS"
|
||||
|
||||
ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS conftest.$ac_ext $LDFLAGS $LIBS 1>&5'
|
||||
@@ -7787,7 +7787,7 @@ elif test "x$pac_cv_psblas_dir" != "x"; then
|
||||
PSBLAS_INCLUDES="$FMFLAG$pac_cv_psblas_dir/modules $PSBLAS_INCLUDES"
|
||||
fi
|
||||
FCFLAGS=" $PSBLAS_INCLUDES $save_FCFLAGS"
|
||||
PSBLAS_LIBS="-lpsb_krylov -lpsb_prec -lpsb_util -lpsb_base $PSBLAS_LIBS"
|
||||
PSBLAS_LIBS="-lpsb_linsolve -lpsb_prec -lpsb_util -lpsb_base $PSBLAS_LIBS"
|
||||
LDFLAGS=" $PSBLAS_LIBS $save_LDFLAGS"
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -525,7 +525,7 @@ then
|
||||
FIFLAG="-I"
|
||||
BASEMODNAME=PSB_BASE_MOD
|
||||
PRECMODNAME=PSB_PREC_MOD
|
||||
METHDMODNAME=PSB_KRYLOV_MOD
|
||||
METHDMODNAME=PSB_LINSOLVE_MOD
|
||||
UTILMODNAME=PSB_UTIL_MOD
|
||||
|
||||
else
|
||||
@@ -536,7 +536,7 @@ else
|
||||
FIFLAG=-I
|
||||
BASEMODNAME=psb_base_mod
|
||||
PRECMODNAME=psb_prec_mod
|
||||
METHDMODNAME=psb_krylov_mod
|
||||
METHDMODNAME=psb_linsolve_mod
|
||||
UTILMODNAME=psb_util_mod
|
||||
fi
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ AMGINCDIR=$(AMGDIR)/include
|
||||
include $(AMGINCDIR)/Make.inc.amg4psblas
|
||||
AMGMODDIR=$(AMGDIR)/modules
|
||||
AMGLIBDIR=$(AMGDIR)/lib
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_linsolve -lamg_prec -lpsb_prec
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG).
|
||||
|
||||
DFSOBJS=amg_df_sample.o data_input.o
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
program amg_cf_sample
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
program amg_df_sample
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
program amg_sf_sample
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
program amg_zf_sample
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -3,7 +3,7 @@ AMGINCDIR=$(AMGDIR)/include
|
||||
include $(AMGINCDIR)/Make.inc.amg4psblas
|
||||
AMGMODDIR=$(AMGDIR)/modules
|
||||
AMGLIBDIR=$(AMGDIR)/lib
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_linsolve -lamg_prec -lpsb_prec
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG).
|
||||
|
||||
LINKOPT=
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
program amg_d_pde2d
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_d_pde2d_poisson_mod
|
||||
@@ -472,9 +472,16 @@ program amg_d_pde2d
|
||||
!
|
||||
call psb_barrier(ctxt)
|
||||
t1 = psb_wtime()
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
if (psb_toupper(trim(s_choice%kmethd)) == 'RICHARDSON') then
|
||||
call psb_richardson(a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,&
|
||||
& err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc)
|
||||
else
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
end if
|
||||
call psb_barrier(ctxt)
|
||||
tslv = psb_wtime() - t1
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
program amg_d_pde3d
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_d_pde3d_poisson_mod
|
||||
@@ -476,9 +476,16 @@ program amg_d_pde3d
|
||||
!
|
||||
call psb_barrier(ctxt)
|
||||
t1 = psb_wtime()
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
if (psb_toupper(trim(s_choice%kmethd)) == 'RICHARDSON') then
|
||||
call psb_richardson(a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,&
|
||||
& err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc)
|
||||
else
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
end if
|
||||
call psb_barrier(ctxt)
|
||||
tslv = psb_wtime() - t1
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
program amg_s_pde2d
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_s_pde2d_poisson_mod
|
||||
@@ -472,9 +472,16 @@ program amg_s_pde2d
|
||||
!
|
||||
call psb_barrier(ctxt)
|
||||
t1 = psb_wtime()
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
if (psb_toupper(trim(s_choice%kmethd)) == 'RICHARDSON') then
|
||||
call psb_richardson(a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,&
|
||||
& err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc)
|
||||
else
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
end if
|
||||
call psb_barrier(ctxt)
|
||||
tslv = psb_wtime() - t1
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
program amg_s_pde3d
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_s_pde3d_poisson_mod
|
||||
@@ -476,9 +476,16 @@ program amg_s_pde3d
|
||||
!
|
||||
call psb_barrier(ctxt)
|
||||
t1 = psb_wtime()
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
if (psb_toupper(trim(s_choice%kmethd)) == 'RICHARDSON') then
|
||||
call psb_richardson(a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,&
|
||||
& err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc)
|
||||
else
|
||||
call psb_krylov(s_choice%kmethd,a,prec,b,x,s_choice%eps,&
|
||||
& desc_a,info,itmax=s_choice%itmax,iter=iter,err=err,itrace=s_choice%itrace,&
|
||||
& istop=s_choice%istopc,irst=s_choice%irst)
|
||||
end if
|
||||
call psb_barrier(ctxt)
|
||||
tslv = psb_wtime() - t1
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ AMGINCDIR=$(AMGDIR)/include
|
||||
include $(AMGINCDIR)/Make.inc.amg4psblas
|
||||
AMGMODDIR=$(AMGDIR)/modules
|
||||
AMGLIBDIR=$(AMGDIR)/lib
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_linsolve -lamg_prec -lpsb_prec
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG).
|
||||
LINKOPT=
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
program amg_cexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
program amg_cexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
program amg_dexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
program amg_dexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
program amg_sexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
program amg_sexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
program amg_zexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
implicit none
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
program amg_zexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ AMGINCDIR=$(AMGDIR)/include
|
||||
include $(AMGINCDIR)/Make.inc.amg4psblas
|
||||
AMGMODDIR=$(AMGDIR)/modules
|
||||
AMGLIBDIR=$(AMGDIR)/lib
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_krylov -lamg_prec -lpsb_prec
|
||||
AMG_LIBS=-L$(AMGLIBDIR) -lpsb_linsolve -lamg_prec -lpsb_prec
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(AMGMODDIR) $(FMFLAG)$(AMGINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG).
|
||||
LINKOPT=
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
program amg_dexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_d_pde_mod
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
program amg_dexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_d_pde_mod
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
program amg_sexample_1lev
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_s_pde_mod
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
program amg_sexample_ml
|
||||
use psb_base_mod
|
||||
use amg_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psb_linsolve_mod
|
||||
use psb_util_mod
|
||||
use data_input
|
||||
use amg_s_pde_mod
|
||||
|
||||
@@ -3,7 +3,7 @@ MLDINCDIR=$(MLDDIR)/include
|
||||
include $(MLDINCDIR)/Make.inc.amg4psblas
|
||||
MLDMODDIR=$(MLDDIR)/modules
|
||||
MLDLIBDIR=$(MLDDIR)/lib
|
||||
MLD_LIBS=-L$(MLDLIBDIR) -lpsb_krylov -lmld_prec -lpsb_prec
|
||||
MLD_LIBS=-L$(MLDLIBDIR) -lpsb_linsolve -lmld_prec -lpsb_prec
|
||||
FINCLUDES=$(FMFLAG). $(FMFLAG)$(MLDMODDIR) $(FMFLAG)$(MLDINCDIR) $(PSBLAS_INCLUDES) $(FIFLAG).
|
||||
|
||||
PD3DOBJS=mld_pde3d_newslv.o data_input.o mld_d_tlu_solver.o mld_d_tlu_solver_impl.o
|
||||
|
||||
Reference in New Issue
Block a user