Method descr
-
-
call p%descr(info, [iout, root, verbosity])
+
+
call p%descr(info, [iout, root, verbosity])
-This method prints a description of the preconditioner p to the standard output or to a
, or b
class="cmr-12">, have
been called.
-Arguments
Arguments
id="TBL-17-1">info
| integer, intent(out)info
| integer, intent(out).
|
|
| Error code. If no error, 0 is returned. See Section 7 for details. |
iout
| integer, intent(in), optionaliout
| integer, intent(in), optional.
|
|
| The id of the file where the preconditioner description will be
printed; the default is the standard output. |
root
| integer, intent(in), optionalroot
| integer, intent(in), optional.
|
|
| The id of the process where the preconditioner description
will be printed; the default is psb_root_. |
verbosity
| integer, intent(in), optionalverbosity
| integer, intent(in), optional.
|
|
| The verbosity level of the description. Default value is 0. For
values higher than 0, it prints out further information, e.g., for
@@ -3005,31 +3007,31 @@ class="cmr-12">matrices on every process.
|
| |
-
+
5.9 Auxiliary Methods
-Various functionalities are implemented as additional methods of the preconditioner
object.
-
+
5.9.1 Method: dump
-
-
call p%dump(info[,istart,iend,prefix,head,ac,rp,smoother,solver,global_num])
+
+
call p%dump(info[,istart,iend,prefix,head,ac,rp,smoother,solver,global_num])
-Dump on file.
-
Arguments
Arguments
id="TBL-18-1">info
| integer, intent(out)info
| integer, intent(out).
|
|
| Error code. If no error, 0 is returned. See Section 7 for details. |
amold
| class(psb_amold
| class(psb_x_base_sparse_mat), intent(in), optional.
|
|
| The desired dynamic type for internal matrix components; this
allows e.g. running on GPUs; it needs not be the same on all
@@ -3072,19 +3074,19 @@ class="cmr-12">. |
| |
-
+
5.9.2 Method: clone
-
-
call p%clone(pout,info)
+
+
call p%clone(pout,info)
-Create a (deep) copy of the preconditioner object.
-
Arguments
Arguments
id="TBL-19-1">pout
| type(amg_pout
| type(amg_xprec_type), intent(out).
|
|
| The copy of the preconditioner data structure. Note that x must
@@ -3111,13 +3113,13 @@ class="cmr-12">, single/double precision
class="cmr-12">version of AMG4PSBLAS under use. |
info
| integer, intent(out)info
| integer, intent(out).
|
|
| Error code. If no error, 0 is returned. See Section for details. |
| |
-
+
5.9.3 Method: sizeof
-
-
sz = p%sizeof([global])
+
+
sz = p%sizeof([global])
Method: sizeof
id="TBL-20-1">global
| logical, optionalglobal
| logical, optional.
|
|
| Whether the global or local preconditioner memory occupation is
desired. Default: .false.Return memory footprint in bytes.
-
+
5.9.4 Method: allocate_wrk
-
- call p%allocate_wrk(info[, vmold])
+
+ call p%allocate_wrk(info[, vmold])
-Allocate internal work vectors. Each application of the preconditioner uses a number of
work vectors which are allocated internally as necessary; therefore allocation and
deallocation of memory occurs multiple times during the execution of a Krylov method.
+class="cmr-12">deallocation of memory occurs multiple times during the execution of an iterative
In most cases this strategy is perfectly acceptable, but on some platforms, most
+class="cmr-12">method. In most cases this strategy is perfectly acceptable, but on some platforms,
notably GPUs, memory allocation is a slow operation, and the default behaviour would
+class="cmr-12">most notably GPUs, memory allocation is a slow operation, and the default behaviour
lead to a slowdown. This method allows to trade space for time by preallocating
+class="cmr-12">would lead to a slowdown. This method allows to trade space for time by preallocating
the internal workspace outside of the invocation of a Krylov method. When
+class="cmr-12">the internal workspace outside of the invocation of a linear solver method. When
using GPUs or other specialized devices, the vmold argument is also necessary
@@ -3198,7 +3200,7 @@ class="cmr-12">taken care of based on the dynamic type of the argument to the apply
method.
-Arguments
Arguments
id="TBL-21-1">info
| integer, intent(out)info
| integer, intent(out).
|
|
| Error code. If no error, 0 is returned. See Section 7 for details. |
vmold
| class(psb_vmold
| class(psb_x_base_vect_type), intent(in), optional.
|
|
| The desired dynamic type for internal vector components; this
allows e.g. running on GPUs. |
| |
-
+
5.9.5 Method: deallocate_wrk
-
- call p%deallocate_wrk(info)
+
+ call p%deallocate_wrk(info)
+call p%free_wrk(info)
-Deallocate internal work vectors.
- Arguments
Arguments
id="TBL-22-1">info
| integer, intent(out)info
| integer, intent(out).
|
|
| Error code. If no error, 0 is returned. See Section |
|