mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Aligned to new names for internal constants.
Fixed ext field of descriptors.
This commit is contained in:
@@ -32,7 +32,7 @@ lib: mpobjs $(OBJS)
|
||||
$(AR) $(HERE)/$(LIBNAME) $(OBJS)
|
||||
$(RANLIB) $(HERE)/$(LIBNAME)
|
||||
/bin/cp -p $(HERE)/$(LIBNAME) $(LIBDIR)
|
||||
/bin/cp -p $(LIBMOD) $(LIBDIR)
|
||||
/bin/cp -p $(LIBMOD) $(LOCAL_MODS) $(LIBDIR)
|
||||
|
||||
$(F90OBJS) $(MPFOBJS): $(MODOBJS)
|
||||
psb_prec_mod.o: psb_prec_type.o
|
||||
|
||||
@@ -1,129 +1,18 @@
|
||||
This directory contains the PSBLAS library, version 2.1.0
|
||||
This directory contains the MLD2P4 set of preconditioners.
|
||||
|
||||
|
||||
Version 1.0 of the library was described in:
|
||||
S. Filippone, M. Colajanni
|
||||
PSBLAS: A library for parallel linear algebra computation on sparse matrices
|
||||
ACM Trans. on Math. Software, 26(4), Dec. 2000, pp. 527-550.
|
||||
|
||||
PLATFORMS:
|
||||
|
||||
The compilation process relies on the choice of an appropriate
|
||||
Make.inc file; we have tested with AIX XLF, Intel ifc/Linux, Lahey
|
||||
F95/Linux, Nag f95/Linux, GNU Fortran/Linux. If you succeed in compiling with
|
||||
other compiler/operating systems please let us know.
|
||||
|
||||
|
||||
LINUX:
|
||||
|
||||
There finally exist a GNU Fortran 95 implementation: we are using the
|
||||
development snapshots from GCC 3.5.0, later 4.1 and 4.2 since July
|
||||
2004, and it appears to work. The 4.2 version of GNU compilers is now
|
||||
our reference platform; the official 4.2.0 release is due pretty
|
||||
soon. It now includes support for ALLOCATABLES.
|
||||
|
||||
|
||||
The Lahey version we got access to (6.0 and 6.1) seems to suffer from
|
||||
spurious extra copies problem; this is most apparent in the matrix
|
||||
build process.
|
||||
|
||||
For the Intel compilers, we recommend moving to version 9; previous
|
||||
versions of the library have been compiled with version 7 and 8 of
|
||||
ifort.
|
||||
|
||||
IBM SP.
|
||||
The library has been tested on an IBM SP2, SP4 and SP5, with XLC and XLF
|
||||
compilers, and a version of the BLACS based on MPI.
|
||||
The setting
|
||||
F90=xlf90 -qsuffix=f=f90
|
||||
in Make.inc.rs6k takes care of the f90 extension.
|
||||
WARNING: xlf 8.1 introduced a performance bug, whereas a Fortan 90
|
||||
code calling a Fortan 77 code would incur spurious array copies;
|
||||
please make sure your system has the PTF xlf 8102 installed.
|
||||
|
||||
|
||||
|
||||
UTILITIES
|
||||
The TEST/Fileread directory contains some utilities to convert to/from
|
||||
Harwell-Boeing and MatrixMarket file formats.
|
||||
|
||||
|
||||
DOCUMENTATION
|
||||
|
||||
See userguide.pdf
|
||||
Please consult the sample programs, especially TEST/pargen/ppde90.f90.
|
||||
|
||||
|
||||
OTHER SOFTWARE CREDITS
|
||||
|
||||
We include our modified implementation of some of the Sparker (serial
|
||||
sparse BLAS) material, e.g. Jagged diagonal, plus a number of
|
||||
extensions of our own design. The original file spblas.f can be
|
||||
downloaded from matisa.cc.rl.ac.uk; of course any bugs in our
|
||||
implementation are our own to fix. The main reference for the serial
|
||||
sparse BLAS is:
|
||||
Duff, I., Marrone, M., Radicati, G., and Vittoli, C.
|
||||
Level 3 basic linear algebra subprograms for sparse matrices: a user
|
||||
level interface
|
||||
ACM Trans. Math. Softw., 23(3), 379-401, 1997.
|
||||
|
||||
In the multilevel preconditioners we use SMMP by Randolph E. Bank and
|
||||
Craig C. Douglas na.bank@na-net.ornl.gov and
|
||||
na.cdouglas@na-net.ornl.gov; we wrapped it in a Fortran 95 interface
|
||||
with dynamic memory allocation.
|
||||
|
||||
To compile and run our software you will need
|
||||
|
||||
1. A working version of MPI
|
||||
|
||||
2. The MPI version of the BLACS from
|
||||
http://www.netlib.org/blacs/index.html
|
||||
|
||||
3. A version of the BLAS; if you don't have a specific version for
|
||||
your platform you may try ATLAS available from
|
||||
http://math-atlas.sourceforge.net/
|
||||
|
||||
4. We have had good results with the METIS library, from
|
||||
http://www-users.cs.umn.edu/~karypis/metis/metis/main.html
|
||||
This is not necessary to compile our library, but the test program
|
||||
in test/Fileread assumes you have it installed.
|
||||
|
||||
5. For our preconditioners we include interfaces to the following
|
||||
software packages:
|
||||
-- SuperLU 3.0 http://crd.lbl.gov/~xiaoye/SuperLU/
|
||||
-- UMFPACK 4.4 http://www.cise.ufl.edu/research/sparse/umfpack/
|
||||
These are optional, you only need to install them if you actually
|
||||
want to use them.
|
||||
|
||||
|
||||
TODO:
|
||||
- As soon as TR 15581 and MOVE_ALLOC become available in GNU Fortran
|
||||
we shall move from POINTERS to ALLOCATABLE for both vectors and
|
||||
derived data types components.
|
||||
- The GLOB_TO_LOC array should be changed for large test cases.
|
||||
|
||||
|
||||
The PSBLAS team.
|
||||
|
||||
|
||||
Contact: Salvatore Filippone salvatore.filippone@uniroma2.it
|
||||
|
||||
Credits for version 2.0:
|
||||
Salvatore Filippone
|
||||
Alfredo Buttari
|
||||
|
||||
The MD2P4 multilevel parallel preconditioners contained in directory
|
||||
src/prec were developed with the contribution of:
|
||||
developed by
|
||||
Salvatore Filippone
|
||||
Pasqua D'Ambra
|
||||
Daniela di Serafino
|
||||
They are still in an early experimental stage, use at your own risk!
|
||||
|
||||
Credits for version 1.0:
|
||||
Salvatore Filippone
|
||||
Michele Colajanni
|
||||
Fabio Cerioni
|
||||
Stefano Maiolatesi
|
||||
Dario Pascucci
|
||||
|
||||
To compile:
|
||||
1. Edit Makefile and point PSBLASDIR to the main directory containing
|
||||
the PSBLAS source code
|
||||
2. Edit the Makefile in the main PSBLAS dir modifying the PREC
|
||||
variable to make it point to this directory, e.g.
|
||||
PREC=../mld2p4
|
||||
3. Run make from the main PSBLAS directory.
|
||||
|
||||
|
||||
|
||||
|
||||
+8
-8
@@ -138,7 +138,7 @@ Subroutine psb_dasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
goto 9999
|
||||
endif
|
||||
|
||||
if (novr == 0) then
|
||||
if ((novr == 0).or.(np==1)) then
|
||||
!
|
||||
! This is really just Block Jacobi.....
|
||||
!
|
||||
@@ -176,16 +176,16 @@ Subroutine psb_dasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
!
|
||||
! Build the auiliary descriptor',desc_p%matrix_data(psb_n_row_)
|
||||
!
|
||||
call psb_cdbldovr(a,desc_data,novr,desc_p,info)
|
||||
call psb_cdbldext(a,desc_data,novr,desc_p,info,extype=psb_ovt_asov_)
|
||||
if(info /= 0) then
|
||||
info=4010
|
||||
ch_err='psb_cdbldovr'
|
||||
ch_err='psb_cdbldext'
|
||||
call psb_errpush(info,name,a_err=ch_err)
|
||||
goto 9999
|
||||
end if
|
||||
Endif
|
||||
|
||||
if(debug) write(0,*) me,' From cdbldovr _:',desc_p%matrix_data(psb_n_row_),&
|
||||
if(debug) write(0,*) me,' From cdbldext _:',desc_p%matrix_data(psb_n_row_),&
|
||||
& desc_p%matrix_data(psb_n_col_)
|
||||
|
||||
|
||||
@@ -202,11 +202,11 @@ Subroutine psb_dasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
!!$ blk%k = n_row
|
||||
|
||||
if (present(outfmt)) then
|
||||
if(debug) write(0,*) me,': Calling SPHALO with ',size(blk%ia2)
|
||||
Call psb_sphalo(a,desc_p,blk,info,outfmt=outfmt)
|
||||
if(debug) write(0,*) me,': Calling outfmt SPHALO with ',size(blk%ia2)
|
||||
Call psb_sphalo(a,desc_p,blk,info,outfmt=outfmt,data=psb_comm_ext_)
|
||||
else
|
||||
if(debug) write(0,*) me,': Calling SPHALO with ',size(blk%ia2)
|
||||
Call psb_sphalo(a,desc_p,blk,info)
|
||||
Call psb_sphalo(a,desc_p,blk,info,data=psb_comm_ext_)
|
||||
end if
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ Subroutine psb_dasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
@@ -191,7 +191,7 @@ subroutine psb_dbaseprc_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
tx(desc_data%matrix_data(psb_n_row_)+1:isz) = dzero
|
||||
|
||||
if (prec%iprcparm(restr_)==psb_halo_) then
|
||||
call psb_halo(tx,prec%desc_data,info,work=aux)
|
||||
call psb_halo(tx,prec%desc_data,info,work=aux,data=psb_comm_ext_)
|
||||
if(info /=0) then
|
||||
info=4010
|
||||
ch_err='psb_halo'
|
||||
@@ -271,7 +271,7 @@ subroutine psb_dbaseprc_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
@@ -257,7 +257,7 @@ subroutine psb_dbaseprc_bld(a,desc_a,p,info,upd)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -260,7 +260,7 @@ subroutine psb_dbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+5
-4
@@ -89,7 +89,7 @@ subroutine psb_dbldaggrmat(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -265,8 +265,9 @@ contains
|
||||
!if(.not.associated(p%av(ap_nd_)%aspk)) p%iprcparm(jac_sweeps_) = 1
|
||||
!------------------------------------------------------------------
|
||||
! Split AC=M+N N off-diagonal part
|
||||
nzl = psb_sp_get_nnzeros(ac)
|
||||
call psb_sp_all(ac%m,ac%k,p%av(ap_nd_),nzl,info)
|
||||
if(info /= 0) then
|
||||
if (info /= 0) then
|
||||
call psb_errpush(4010,name,a_err='psb_sp_all')
|
||||
goto 9999
|
||||
end if
|
||||
@@ -324,7 +325,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -1031,7 +1032,7 @@ contains
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -158,7 +158,7 @@ subroutine psb_ddiagsc_bld(a,desc_a,p,upd,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -283,7 +283,7 @@ subroutine psb_dgenaggrmap(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+7
-1
@@ -339,11 +339,17 @@ subroutine psb_dilu_bld(a,desc_a,p,upd,info)
|
||||
if (psb_sp_getifld(psb_upd_,p%av(u_pr_),info) /= psb_upd_perm_) then
|
||||
call psb_sp_trimsize(p%av(u_pr_),i1,i2,ia,info)
|
||||
if (info == 0) call psb_sp_reall(p%av(u_pr_),i1,i2,ia,info)
|
||||
if (info /=0) then
|
||||
write(0,*) 'Error from trimsize 1',info
|
||||
endif
|
||||
endif
|
||||
|
||||
if (psb_sp_getifld(psb_upd_,p%av(l_pr_),info) /= psb_upd_perm_) then
|
||||
call psb_sp_trimsize(p%av(l_pr_),i1,i2,ia,info)
|
||||
if (info == 0) call psb_sp_reall(p%av(l_pr_),i1,i2,ia,info)
|
||||
if (info /=0) then
|
||||
write(0,*) 'Error from trimsize 2',info
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -354,7 +360,7 @@ subroutine psb_dilu_bld(a,desc_a,p,upd,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -122,7 +122,7 @@ subroutine psb_dilu_fct(a,l,u,d,info,blck)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -466,7 +466,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -753,7 +753,7 @@ subroutine psb_dmlprc_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -189,7 +189,7 @@ subroutine psb_dmlprc_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -134,7 +134,7 @@ subroutine psb_dprc_aply(prec,x,y,desc_data,info,trans, work)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -242,7 +242,7 @@ subroutine psb_dprc_aply1(prec,x,desc_data,info,trans)
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ subroutine psb_dprecbld(a,desc_a,p,info,upd)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ subroutine psb_dprecfree(p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -196,7 +196,7 @@ subroutine psb_dslu_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -353,7 +353,7 @@ subroutine psb_dsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -448,7 +448,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -200,7 +200,7 @@ subroutine psb_dumf_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+4
-4
@@ -176,16 +176,16 @@ Subroutine psb_zasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
!
|
||||
! Build the auiliary descriptor',desc_p%matrix_data(psb_n_row_)
|
||||
!
|
||||
call psb_cdbldovr(a,desc_data,novr,desc_p,info)
|
||||
call psb_cdbldext(a,desc_data,novr,desc_p,info,extype=psb_ovt_asov_)
|
||||
if(info /= 0) then
|
||||
info=4010
|
||||
ch_err='psb_cdbldovr'
|
||||
ch_err='psb_cdbldext'
|
||||
call psb_errpush(info,name,a_err=ch_err)
|
||||
goto 9999
|
||||
end if
|
||||
Endif
|
||||
|
||||
if(debug) write(0,*) me,' From cdovr _:',desc_p%matrix_data(psb_n_row_),desc_p%matrix_data(psb_n_col_)
|
||||
if(debug) write(0,*) me,' From bldext:',desc_p%matrix_data(psb_n_row_),desc_p%matrix_data(psb_n_col_)
|
||||
|
||||
|
||||
n_row = desc_p%matrix_data(psb_n_row_)
|
||||
@@ -226,7 +226,7 @@ Subroutine psb_zasmatbld(ptype,novr,a,blk,desc_data,upd,desc_p,info,outfmt)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
@@ -270,7 +270,7 @@ subroutine psb_zbaseprc_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
@@ -252,7 +252,7 @@ subroutine psb_zbaseprc_bld(a,desc_a,p,info,upd)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -260,7 +260,7 @@ subroutine psb_zbjac_aply(alpha,prec,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name,i_err=int_err,a_err=ch_err)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+3
-3
@@ -88,7 +88,7 @@ subroutine psb_zbldaggrmat(a,desc_a,ac,desc_ac,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -323,7 +323,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -1027,7 +1027,7 @@ contains
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -154,7 +154,7 @@ subroutine psb_zdiagsc_bld(a,desc_a,p,upd,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -283,7 +283,7 @@ subroutine psb_zgenaggrmap(aggr_type,a,desc_a,nlaggr,ilaggr,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -352,7 +352,7 @@ subroutine psb_zilu_bld(a,desc_a,p,upd,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -119,7 +119,7 @@ subroutine psb_zilu_fct(a,l,u,d,info,blck)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -463,7 +463,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -750,7 +750,7 @@ subroutine psb_zmlprc_aply(alpha,baseprecv,x,beta,y,desc_data,trans,work,info)
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -189,7 +189,7 @@ subroutine psb_zmlprc_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -134,7 +134,7 @@ subroutine psb_zprc_aply(prec,x,y,desc_data,info,trans, work)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -239,7 +239,7 @@ subroutine psb_zprc_aply1(prec,x,desc_data,info,trans)
|
||||
9999 continue
|
||||
call psb_errpush(info,name)
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@ subroutine psb_zprecbld(a,desc_a,p,info,upd)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -65,7 +65,7 @@ subroutine psb_zprecfree(p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ subroutine psb_zslu_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+2
-2
@@ -352,7 +352,7 @@ subroutine psb_zsp_renum(a,desc_a,blck,p,atmp,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
@@ -447,7 +447,7 @@ contains
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
+1
-1
@@ -199,7 +199,7 @@ subroutine psb_zumf_bld(a,desc_a,p,info)
|
||||
|
||||
9999 continue
|
||||
call psb_erractionrestore(err_act)
|
||||
if (err_act.eq.act_abort) then
|
||||
if (err_act.eq.psb_act_abort_) then
|
||||
call psb_error()
|
||||
return
|
||||
end if
|
||||
|
||||
Reference in New Issue
Block a user