7.15 psb_nrm2 — Global 2-norm reduction
call psb_nrm2(icontxt, dat, root)
This subroutine implements a 2-norm value reduction operation based on the
underlying communication library.
-
Type:
- Synchronous.
-
On Entry
-
-
icontxt
- the communication context identifying the virtual parallel machine.
Scope: global.
Type: required.
Intent: in.
Specified as: an integer variable.
-
dat
- The local contribution to the global minimum.
Scope: local.
Type: required.
Intent: inout.
Specified as: a real variable, which may be a scalar, or a rank 1 array.
Kind, rank and size must agree on all processes.
-
root
- Process to hold the final value, or -1 to make it available on all processes.
Scope: global.
Type: optional.
Intent: in.
Specified as: an integer value -1 <= root <= np - 1, default -1.
-
On Return
-
-
dat
- On destination process(es), the result of the 2-norm reduction.
Scope: global.
Type: required.
Intent: inout.
Specified as: a real variable, which may be a scalar, or a rank 1 array.
Kind, rank and size must agree on all processes.
Notes
- This reduction is appropriate to compute the results of multiple (local)
NRM2 operations at the same time.
- Denoting by dati the value of the variable dat on process i, the output res
is equivalent to the computation of
with care taken to avoid unnecessary overflow.
- The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.