diff --git a/docs/html/userhtml0x.png b/docs/html/userhtml0x.png index 7b06aa11..3e324fc8 100644 Binary files a/docs/html/userhtml0x.png and b/docs/html/userhtml0x.png differ diff --git a/docs/html/userhtml10x.png b/docs/html/userhtml10x.png index d95c1025..11f5ee76 100644 Binary files a/docs/html/userhtml10x.png and b/docs/html/userhtml10x.png differ diff --git a/docs/html/userhtml11x.png b/docs/html/userhtml11x.png index af3a720c..223013a6 100644 Binary files a/docs/html/userhtml11x.png and b/docs/html/userhtml11x.png differ diff --git a/docs/html/userhtml12x.png b/docs/html/userhtml12x.png index b3d9749d..2729ea64 100644 Binary files a/docs/html/userhtml12x.png and b/docs/html/userhtml12x.png differ diff --git a/docs/html/userhtml15x.png b/docs/html/userhtml15x.png index 3a2dbe01..7e4a6663 100644 Binary files a/docs/html/userhtml15x.png and b/docs/html/userhtml15x.png differ diff --git a/docs/html/userhtml22x.png b/docs/html/userhtml22x.png index f0a71dab..dcf36e0b 100644 Binary files a/docs/html/userhtml22x.png and b/docs/html/userhtml22x.png differ diff --git a/docs/html/userhtml23x.png b/docs/html/userhtml23x.png index d8e518ee..a4a99534 100644 Binary files a/docs/html/userhtml23x.png and b/docs/html/userhtml23x.png differ diff --git a/docs/html/userhtml24x.png b/docs/html/userhtml24x.png index 3ade441e..52e4a38d 100644 Binary files a/docs/html/userhtml24x.png and b/docs/html/userhtml24x.png differ diff --git a/docs/html/userhtml27x.png b/docs/html/userhtml27x.png index f94ad5e3..8aee367e 100644 Binary files a/docs/html/userhtml27x.png and b/docs/html/userhtml27x.png differ diff --git a/docs/html/userhtml28x.png b/docs/html/userhtml28x.png index 6a7c4b7f..5d26369e 100644 Binary files a/docs/html/userhtml28x.png and b/docs/html/userhtml28x.png differ diff --git a/docs/html/userhtml30x.png b/docs/html/userhtml30x.png index c4cd68bb..bee44974 100644 Binary files a/docs/html/userhtml30x.png and b/docs/html/userhtml30x.png differ diff --git a/docs/html/userhtml33x.png b/docs/html/userhtml33x.png index 6e996fed..d8cf193c 100644 Binary files a/docs/html/userhtml33x.png and b/docs/html/userhtml33x.png differ diff --git a/docs/html/userhtml34x.png b/docs/html/userhtml34x.png index c4cd68bb..bee44974 100644 Binary files a/docs/html/userhtml34x.png and b/docs/html/userhtml34x.png differ diff --git a/docs/html/userhtml4x.png b/docs/html/userhtml4x.png index 4734ca48..157b057a 100644 Binary files a/docs/html/userhtml4x.png and b/docs/html/userhtml4x.png differ diff --git a/docs/html/userhtml6x.png b/docs/html/userhtml6x.png index acf15505..6f595d91 100644 Binary files a/docs/html/userhtml6x.png and b/docs/html/userhtml6x.png differ diff --git a/docs/html/userhtml7x.png b/docs/html/userhtml7x.png index d95c1025..11f5ee76 100644 Binary files a/docs/html/userhtml7x.png and b/docs/html/userhtml7x.png differ diff --git a/docs/html/userhtml9x.png b/docs/html/userhtml9x.png index d381c15a..cdd3f219 100644 Binary files a/docs/html/userhtml9x.png and b/docs/html/userhtml9x.png differ diff --git a/docs/html/userhtmlse7.html b/docs/html/userhtmlse7.html index 04c4c5dc..6f1859d7 100644 --- a/docs/html/userhtmlse7.html +++ b/docs/html/userhtmlse7.html @@ -27,7 +27,7 @@ href="userhtml.html#userhtmlse10.html" >up]
-call psb_init(ctxt, np, basectxt, ids) +call psb_init(ctxt, np, basectxt, ids, extcomm)
This subroutine initializes the PSBLAS parallel environment, defining a virtual @@ -62,8 +62,8 @@ class="newline" />Specified as: an integer value. Default: use all avail basectxt
the initial communication context. The new context will be defined from
- the processes participating in the initial one.
the initial PSBLAS communication context. The new context will be
+ defined from the processes participating in the initial one.
Scope: global.
Type: (0…np- 1).
+
+extcomm
an alternative initial MPI communicator. The new context will be defined
+ from the processes participating in the initial one.
Scope: global.
Type: optional.
Intent: in.
Specified as: an integer value. Default: use MPI_COMM_WORLD.
+
On Return
+
+
ctxt
the communication context identifying the virtual parallel machine, +
the communication context identifying the virtual parallel machine,
type psb_ctxt_type. Note that this is always a duplicate of basectxt,
@@ -120,16 +134,16 @@ class="pplb7t-">required.
Intent: out.
Specified as: an integer variable.
Notes
A call to this routine must precede any other PSBLAS call.
+ A call to this routine must precede any other PSBLAS call.
It is an error to specify a value for It is an error to specify a value for np greater than the number of processes
available in the underlying base parallel environment.
@@ -143,27 +157,27 @@ class="zplmr7m-">np greater than the number of processes
call psb_info(ctxt, iam, np)-
-
This subroutine returns information about the PSBLAS parallel environment, +
+
This subroutine returns information about the PSBLAS parallel environment, defining a virtual parallel machine.
+
Type:
Asynchronous. +
Asynchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: required.
Intent: in.
Specified as: an integer variable.
+
+
On Return
+
+
iam
Identifier of current process in the PSBLAS virtual parallel machine.
Identifier of current process in the PSBLAS virtual parallel machine.
Scope: local.
Type: ≤ np- 1
+
np
Number of processes in the PSBLAS virtual parallel machine.
Number of processes in the PSBLAS virtual parallel machine.
Scope: global.
Type: required.
Intent: out.
Specified as: an integer variable.
Notes
For processes in the virtual parallel machine the identifier will satisfy
+ For processes in the virtual parallel machine the identifier will satisfy
0 ≤ iam - 1;
If the user has requested on If the user has requested on psb_init a number of processes less than
the total available in the parallel execution environment, the remaining
processes will have on return psb_exit
- This subroutine exits from the PSBLAS parallel virtual machine.
+
+ This subroutine exits from the PSBLAS parallel virtual machine.
+
Type: Synchronous.
+ Synchronous.
+
On Entry
+
+
ctxt the communication context identifying the virtual parallel machine. the communication context identifying the virtual parallel machine.
+
close Whether to close all data structures related to the virtual parallel
+ Whether to close all data structures related to the virtual parallel
machine, besides those associated with ctxt.
call psb_exit(ctxt)
call psb_exit(ctxt,close)
-
.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
Scope: global.
optional
Intent: in.
Specified as: a logical variable, default value: true.
-
Notes
This routine may be called even if a previous call to This routine may be called even if a previous call to psb_info has
returned with iam ctxt A call to this routine with A call to this routine with close=.true. implies a call to MPI_Finalize,
after which no parallel routine may be called.
If the user whishes to use multiple communication contexts in the
+ If the user whishes to use multiple communication contexts in the
same program, or to enter and exit multiple times into the parallel
environment, this routine may be called to selectively close the
contexts with close=.true. to shutdown in a clean wa
- This function returns the MPI communicator associated with a PSBLAS
+
+ This function returns the MPI communicator associated with a PSBLAS
context
+
Type: Asynchronous.
+ Asynchronous.
+
On Entry
+
+
ctxt the communication context identifying the virtual parallel machine. the communication context identifying the virtual parallel machine.
+
+
On Return
+
+
Function value The MPI communicator associated with the PSBLAS virtual parallel
+ The MPI communicator associated with the PSBLAS virtual parallel
machine.
.
icomm = psb_get_mpi_comm(ctxt)
-
-
Scope: global.
Type: required.
Intent: in.
Specified as: an integer variable.
Scope: global.
required
Intent: out.
-
Notes The subroutine version psb_get_mpicomm is still available but is
deprecated.
@@ -400,27 +414,27 @@ deprecated.
- This function returns the MPI rank of the PSBLAS process
+ This function returns the MPI rank of the PSBLAS process id
+
Type: Asynchronous.
+ Asynchronous.
+
On Entry
+
+
ctxt the communication context identifying the virtual parallel machine. the communication context identifying the virtual parallel machine.
+
id Identifier of a process in the PSBLAS virtual parallel machine. Identifier of a process in the PSBLAS virtual parallel machine.
+
+
On Return
+
+
Funciton value The MPI rank associated with the PSBLAS process The MPI rank associated with the PSBLAS process id. Notes The subroutine version psb_get_rank is still available but is deprecated.
@@ -484,27 +498,27 @@ class="cmtt-10">psb_get_rank
rank = psb_get_mpi_rank(ctxt, id)
-
-
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
Scope: local.
Type: id ≤ np- 1
-
Scope: local.
required
Intent: out.
time = psb_wtime()-
-
This function returns a wall clock timer. The resolution of the timer is dependent +
+
This function returns a wall clock timer. The resolution of the timer is dependent on the underlying parallel environment implementation.
+
Type:
Asynchronous. +
Asynchronous.
+
On Exit
+
+
Function value
the elapsed time in seconds.
the elapsed time in seconds.
Returned as: a real(psb_dpk_) variable.
call psb_barrier(ctxt)-
-
This subroutine acts as an explicit synchronization point for the PSBLAS parallel +
+
This subroutine acts as an explicit synchronization point for the PSBLAS parallel virtual machine.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Specified as: an integer variable.
call psb_abort(ctxt)-
-
This subroutine aborts computation on the parallel virtual machine. +
+
This subroutine aborts computation on the parallel virtual machine.
+
Type:
Asynchronous. +
Asynchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Specified as: an integer variable.
call psb_bcast(ctxt, dat [, root, mode, request])-
-
This subroutine implements a broadcast operation based on the underlying +
+
This subroutine implements a broadcast operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
On the root process, the data to be broadcast.
On the root process, the data to be broadcast.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
a scalar or rank 1 array. Type, kind, rank and size must agree on all
processes.
+
root
Root process holding data to be broadcast.
Root process holding data to be broadcast.
Scope: global.
Type: - 1, default 0
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On all processes other than root, the broadcasted data.
On all processes other than root, the broadcasted data.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank
and size must agree on all processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -753,27 +767,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_bcast(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_bcast(ctxt,dat,mode=psb_collective_start_,request=bcast_request)
....... ! Do not access dat
call psb_bcast(ctxt,dat,mode=psb_collective_end_, request=bcast_request)
-
call psb_sum(ctxt, dat [, root, mode, request])-
-
This subroutine implements a sum reduction operation based on the underlying +
+
This subroutine implements a sum reduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global sum.
The local contribution to the global sum.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array. Type, kind, rank and size must agree on all
processes.
+
root
Process to hold the final sum, or Process to hold the final sum, or -1 to make it available on all processes.
Scope: global.
-
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the sum operation.
On destination process(es), the result of the sum operation.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array.
Type, kind, rank and size must agree on all processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -945,27 +959,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_sum(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_sum(ctxt,dat,mode=psb_collective_start_,request=sum_request)
....... ! Do not access dat
call psb_sum(ctxt,dat,mode=psb_collective_end_,request=sum_request)
-
call psb_max(ctxt, dat [, root, mode, request])-
-
This subroutine implements a maximum valuereduction operation based on the +
+
This subroutine implements a maximum valuereduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global maximum.
The local contribution to the global maximum.
Scope: local.
Type: inout.
Specified as: an integer or real variable, which may be a scalar, or a rank
1 or 2 array. Type, kind, rank and size must agree on all processes.
+
root
Process to hold the final maximum, or Process to hold the final maximum, or -1 to make it available on all
processes.
Scope:
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the maximum operation.
On destination process(es), the result of the maximum operation.
Scope: global.
Type: in.
Specified as: an integer or real variable, which may be a scalar, or a rank
1 or 2 array. Type, kind, rank and size must agree on all processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: mode does not specify synchronous completio
-
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -1140,27 +1154,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_max(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_max(ctxt,dat,mode=psb_collective_start_,request=max_request)
....... ! Do not access dat
call psb_max(ctxt,dat,mode=psb_collective_end_,request=max_request)
-
call psb_min(ctxt, dat [, root, mode, request])-
-
This subroutine implements a minimum value reduction operation based on the +
+
This subroutine implements a minimum value reduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global minimum.
The local contribution to the global minimum.
Scope: local.
Type: inout.
Specified as: an integer or real variable, which may be a scalar, or a rank
1 or 2 array. Type, kind, rank and size must agree on all processes.
+
root
Process to hold the final value, or Process to hold the final value, or -1 to make it available on all processes.
Scope: global.
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the minimum operation.
On destination process(es), the result of the minimum operation.
Scope: global.
Type: Specified as: an integer or real variable, which may be a scal
1 or 2 array.
Type, kind, rank and size must agree on all processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -1332,27 +1346,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_min(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_min(ctxt,dat,mode=psb_collective_start_,request=min_request)
....... ! Do not access dat
call psb_min(ctxt,dat,mode=psb_collective_end_,request=min_request)
-
call psb_amx(ctxt, dat [, root, mode, request])-
-
This subroutine implements a maximum absolute value reduction operation +
+
This subroutine implements a maximum absolute value reduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global maximum.
The local contribution to the global maximum.
Scope: local.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array. Type, kind, rank and size must agree on all
processes.
+
root
Process to hold the final value, or Process to hold the final value, or -1 to make it available on all processes.
Scope: global.
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the maximum operation.
On destination process(es), the result of the maximum operation.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array. Type, kind, rank and size must agree on all
processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -1525,27 +1539,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_amx(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_amx(ctxt,dat,mode=psb_collective_start_,request=amx_request)
....... ! Do not access dat
call psb_amx(ctxt,dat,mode=psb_collective_end_,request=amx_request)
-
call psb_amn(ctxt, dat [, root, mode, request])-
-
This subroutine implements a minimum absolute value reduction operation +
+
This subroutine implements a minimum absolute value reduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global minimum.
The local contribution to the global minimum.
Scope: local.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array. Type, kind, rank and size must agree on all
processes.
+
root
Process to hold the final value, or Process to hold the final value, or -1 to make it available on all processes.
Scope: global.
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the minimum operation.
On destination process(es), the result of the minimum operation.
Scope: global.
Type: Specified as: an integer, real or complex variable, which may
or a rank 1 or 2 array.
Type, kind, rank and size must agree on all processes.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
Notes
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -1718,27 +1732,27 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_amn(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
+
call psb_amn(ctxt,dat,mode=psb_collective_start_,request=amn_request)
....... ! Do not access dat
call psb_amn(ctxt,dat,mode=psb_collective_end_,request=amn_request)
-
call psb_nrm2(ctxt, dat [, root, mode, request])-
-
This subroutine implements a 2-norm value reduction operation based on the +
+
This subroutine implements a 2-norm value reduction operation based on the underlying communication library.
+
Type:
Synchronous. +
Synchronous.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The local contribution to the global minimum.
The local contribution to the global minimum.
Scope: local.
Type: 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 Process to hold the final value, or -1 to make it available on all processes.
Scope: global.
+
mode
Whether the call is started in non-blocking mode and completed later, or +
Whether the call is started in non-blocking mode and completed later, or
is executed synchronously.
Scope: global.
psb_collective_end_. Default: both fields a
selected (i.e. require synchronous completion).
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: inout.
If mode does not specify synchronous completion, then this variable must
be present.
+
+
On Return
+
+
dat
On destination process(es), the result of the 2-norm reduction.
On destination process(es), the result of the 2-norm reduction.
Scope: global.
Type: 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.
+
request
A request variable to check for operation completion.
A request variable to check for operation completion.
Scope: local.
Type: mode does not specify synchronous completio
-
Notes
This reduction is appropriate to compute the results of multiple (local)
+ This reduction is appropriate to compute the results of multiple (local)
NRM2 operations at the same time.
Denoting by Denoting by dati the value of the variable dat on process
- with care taken to avoid unnecessary overflow.
+ with care taken to avoid unnecessary overflow.
The The dat argument is both input and output, and its value may be changed
even on processes different from the final result destination.
The The mode argument can be built with the bitwise IOR() operator; in the
following example, the argument is forcing immediate completion, hence the
@@ -1934,15 +1948,15 @@ class="cmtt-10">IOR()
argument needs not be specified:
+
call psb_nrm2(ctxt,dat,mode=ior(psb_collective_start_,psb_collective_end_))-
When splitting the operation in two calls, the When splitting the operation in two calls, the dat argument must not be
accessed between calls:
@@ -1951,13 +1965,13 @@ class="pplri7t-">must not
+
call psb_nrm2(ctxt,dat,mode=psb_collective_start_,request=nrm2_request)
....... ! Do not access dat
call psb_nrm2(ctxt,dat,mode=psb_collective_end_,request=nrm2_request)
-
call psb_snd(ctxt, dat, dst, m)-
-
This subroutine sends a packet of data to a destination. +
+
This subroutine sends a packet of data to a destination.
+
Type:
Synchronous: see usage notes. +
Synchronous: see usage notes.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
dat
The data to be sent.
The data to be sent.
Scope: local.
Type: Specified as: an integer, real or complex variable, which may
class="zplmr7m-">m is not specified, size
must agree as well.
+
dst
Destination process.
Destination process.
Scope: global.
Type:
+
m
Number of rows.
Number of rows.
Scope: global.
Type: (dat, 1); must have the same
value on sending and receiving processes.
+
+
On Return
Notes
This subroutine implies a synchronization, but only between the calling +
This subroutine implies a synchronization, but only between the calling process and the destination process dst.
call psb_rcv(ctxt, dat, src, m)-
-
This subroutine receives a packet of data to a destination. +
+
This subroutine receives a packet of data to a destination.
+
Type:
Synchronous: see usage notes. +
Synchronous: see usage notes.
+
On Entry
+
+
ctxt
the communication context identifying the virtual parallel machine.
the communication context identifying the virtual parallel machine.
Scope: global.
Type: Intent: in.
Specified as: an integer variable.
+
src
Source process.
Source process.
Scope: global.
Type: np- 1.
+
m
Number of rows.
Number of rows.
Scope: global.
Type: ); must have the same
-
+
+
On Return
+
+
dat
The data to be received.
The data to be received.
Scope: local.
Type: Specified as: an integer, real or complex variable, which may
rank must agree on sender and receiver process; if m is not specified, size
must agree as well.
Notes
This subroutine implies a synchronization, but only between the calling
+ This subroutine implies a synchronization, but only between the calling
process and the source process src.
diff --git a/docs/psblas-3.9.pdf b/docs/psblas-3.9.pdf
index 3010f28d..b9951e59 100644
--- a/docs/psblas-3.9.pdf
+++ b/docs/psblas-3.9.pdf
@@ -22090,7 +22090,7 @@ endstream
endobj
1754 0 obj
<<
-/Length 5790
+/Length 6841
>>
stream
0 g 0 G
@@ -22106,57 +22106,75 @@ BT
/F75 11.9552 Tf 201.825 706.129 Td [(init)-250(\227)-250(Initializes)-250(PSBLAS)-250(parallel)-250(environment)]TJ
0 g 0 G
0 g 0 G
-/F131 9.9626 Tf -51.12 -18.964 Td [(call)-525(psb_init\050ctxt,)-525(np,)-525(basectxt,)-525(ids\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 165.649 665.247 Tm [(This)-354(subr)18(outine)-353(initializes)-354(the)-353(PSBLAS)-354(parallel)-353(envir)17(onment,)-380(de\002ning)-354(a)]TJ 1 0 0 1 150.426 653.292 Tm [(virtual)-250(parallel)-250(machine.)]TJ
+/F131 9.9626 Tf -51.12 -18.964 Td [(call)-525(psb_init\050ctxt,)-525(np,)-525(basectxt,)-525(ids,)-525(extcomm\051)]TJ/F84 9.9626 Tf 1.02 0 0 1 165.649 669.261 Tm [(This)-354(subr)18(outine)-353(initializes)-354(the)-353(PSBLAS)-354(parallel)-353(envir)17(onment,)-380(de\002ning)-354(a)]TJ 1 0 0 1 150.426 657.306 Tm [(virtual)-250(parallel)-250(machine.)]TJ
0 g 0 G
-/F75 9.9626 Tf 0.279 -19.925 Td [(T)90(ype:)]TJ
+/F75 9.9626 Tf 0.279 -16.715 Td [(T)90(ype:)]TJ
0 g 0 G
/F84 9.9626 Tf 29.828 0 Td [(Synchr)18(onous.)]TJ
0 g 0 G
-/F75 9.9626 Tf -29.828 -19.925 Td [(On)-250(Entry)]TJ
+/F75 9.9626 Tf -29.828 -18.32 Td [(On)-250(Entry)]TJ
0 g 0 G
0 g 0 G
- 0 -19.926 Td [(np)]TJ
+ 0 -18.319 Td [(np)]TJ
0 g 0 G
-/F84 9.9626 Tf 17.156 0 Td [(Number)-250(of)-250(pr)18(ocesses)-250(in)-250(the)-250(PSBLAS)-250(virtual)-250(parallel)-250(machine.)]TJ 7.751 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.431 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value.)-560(Default:)-310(use)-250(all)-250(available)-250(pr)18(ocesses.)]TJ
+/F84 9.9626 Tf 17.156 0 Td [(Number)-250(of)-250(pr)18(ocesses)-250(in)-250(the)-250(PSBLAS)-250(virtual)-250(parallel)-250(machine.)]TJ 7.751 -11.956 Td [(Scope:)]TJ/F75 9.9626 Tf 31.431 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value.)-560(Default:)-310(use)-250(all)-250(available)-250(pr)18(ocesses.)]TJ
0 g 0 G
-/F75 9.9626 Tf -24.906 -19.926 Td [(basectxt)]TJ
+/F75 9.9626 Tf -24.906 -18.32 Td [(basectxt)]TJ
0 g 0 G
-/F84 9.9626 Tf 1.02 0 0 1 192.199 525.77 Tm [(the)-266(initial)-266(communication)-267(context.)-367(The)-266(new)-267(context)-266(will)-266(be)-266(de\002ned)]TJ 1 0 0 1 175.611 513.815 Tm [(fr)18(om)-250(the)-250(pr)18(ocesses)-250(participating)-250(in)-250(the)-250(initial)-250(one.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.956 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value.)-560(Default:)-310(use)-250(MPI)]TJ
+/F84 9.9626 Tf 1.018 0 0 1 192.199 537.811 Tm [(the)-246(initial)-245(PSBLAS)-246(communication)-245(context.)-305(The)-245(new)-246(context)-245(will)-246(be)]TJ 1 0 0 1 175.611 525.856 Tm [(de\002ned)-250(fr)18(om)-250(the)-250(pr)18(ocesses)-250(participating)-250(in)-250(the)-250(initial)-250(one.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.956 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value.)-560(Default:)-310(use)-250(MPI)]TJ
ET
q
-1 0 0 1 387.574 466.194 cm
+1 0 0 1 387.574 478.235 cm
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
Q
BT
-/F84 9.9626 Tf 390.563 465.994 Td [(COMM)]TJ
+/F84 9.9626 Tf 390.563 478.035 Td [(COMM)]TJ
ET
q
-1 0 0 1 424.904 466.194 cm
+1 0 0 1 424.904 478.235 cm
[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
Q
BT
-/F84 9.9626 Tf 427.893 465.994 Td [(WORLD.)]TJ
+/F84 9.9626 Tf 427.893 478.035 Td [(WORLD.)]TJ
+0 g 0 G
+/F75 9.9626 Tf -277.188 -18.32 Td [(ids)]TJ
0 g 0 G
-/F75 9.9626 Tf -277.188 -19.925 Td [(ids)]TJ
+/F84 9.9626 Tf 1.02 0 0 1 169.514 459.715 Tm [(Identities)-374(of)-374(the)-374(pr)18(ocesses)-374(to)-374(use)-374(for)-374(the)-373(new)-374(context;)-439(the)-373(ar)17(gument)-374(is)]TJ 1.02 0 0 1 175.611 447.76 Tm [(ignor)18(ed)-287(when)]TJ/F131 9.9626 Tf 1 0 0 1 241.58 447.76 Tm [(np)]TJ/F84 9.9626 Tf 1.02 0 0 1 254.95 447.76 Tm [(is)-286(not)-286(speci\002ed.)-428(This)-286(allows)-286(the)-286(pr)17(ocesses)-286(in)-286(the)-286(new)]TJ 1 0 0 1 175.611 435.805 Tm [(envir)18(onment)-250(to)-250(be)-250(in)-250(an)-250(or)18(der)-250(dif)18(fer)18(ent)-250(fr)18(om)-250(the)-250(original)-250(one.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.956 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(array)111(.)-560(Default:)-310(use)-250(the)-250(indices)]TJ/F181 10.3811 Tf 240.57 0 Td [(\050)]TJ/F84 9.9626 Tf 4.15 0 Td [(0)-179(.)-192(.)-191(.)]TJ/F78 9.9626 Tf 19.966 0 Td [(n)-80(p)]TJ/F179 10.3811 Tf 13.504 0 Td [(\000)]TJ/F84 9.9626 Tf 10.131 0 Td [(1)]TJ/F181 10.3811 Tf 5.106 0 Td [(\051)]TJ/F84 9.9626 Tf 4.15 0 Td [(.)]TJ
0 g 0 G
-/F84 9.9626 Tf 1.02 0 0 1 169.514 446.069 Tm [(Identities)-374(of)-374(the)-374(pr)18(ocesses)-374(to)-374(use)-374(for)-374(the)-373(new)-374(context;)-439(the)-373(ar)17(gument)-374(is)]TJ 1.02 0 0 1 175.611 434.114 Tm [(ignor)18(ed)-287(when)]TJ/F131 9.9626 Tf 1 0 0 1 241.58 434.114 Tm [(np)]TJ/F84 9.9626 Tf 1.02 0 0 1 254.95 434.114 Tm [(is)-286(not)-286(speci\002ed.)-428(This)-286(allows)-286(the)-286(pr)17(ocesses)-286(in)-286(the)-286(new)]TJ 1 0 0 1 175.611 422.159 Tm [(envir)18(onment)-250(to)-250(be)-250(in)-250(an)-250(or)18(der)-250(dif)18(fer)18(ent)-250(fr)18(om)-250(the)-250(original)-250(one.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.956 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(array)111(.)-560(Default:)-310(use)-250(the)-250(indices)]TJ/F181 10.3811 Tf 240.57 0 Td [(\050)]TJ/F84 9.9626 Tf 4.15 0 Td [(0)-179(.)-192(.)-191(.)]TJ/F78 9.9626 Tf 19.966 0 Td [(n)-80(p)]TJ/F179 10.3811 Tf 13.504 0 Td [(\000)]TJ/F84 9.9626 Tf 10.131 0 Td [(1)]TJ/F181 10.3811 Tf 5.106 0 Td [(\051)]TJ/F84 9.9626 Tf 4.15 0 Td [(.)]TJ
+/F75 9.9626 Tf -322.483 -18.319 Td [(extcomm)]TJ
+0 g 0 G
+/F84 9.9626 Tf 1.02 0 0 1 196.642 369.665 Tm [(an)-301(alternative)-301(initial)-301(MPI)-301(communicator)72(.)-472(The)-301(new)-301(context)-301(will)-301(be)]TJ 1 0 0 1 175.611 357.709 Tm [(de\002ned)-250(fr)18(om)-250(the)-250(pr)18(ocesses)-250(participating)-250(in)-250(the)-250(initial)-250(one.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(optional)]TJ/F84 9.9626 Tf 38.186 0 Td [(.)]TJ -64.966 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(in)]TJ/F84 9.9626 Tf 9.404 0 Td [(.)]TJ -41.205 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(value.)-560(Default:)-310(use)-250(MPI)]TJ
+ET
+q
+1 0 0 1 387.574 310.088 cm
+[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
+Q
+BT
+/F84 9.9626 Tf 390.563 309.889 Td [(COMM)]TJ
+ET
+q
+1 0 0 1 424.904 310.088 cm
+[]0 d 0 J 0.398 w 0 0 m 2.989 0 l S
+Q
+BT
+/F84 9.9626 Tf 427.893 309.889 Td [(WORLD.)]TJ
0 g 0 G
-/F75 9.9626 Tf -322.483 -21.918 Td [(On)-250(Return)]TJ
+/F75 9.9626 Tf -277.188 -17.904 Td [(On)-250(Return)]TJ
0 g 0 G
0 g 0 G
- 0 -19.925 Td [(ctxt)]TJ
+ 0 -18.32 Td [(ctxt)]TJ
0 g 0 G
-/F84 9.9626 Tf 1.01 0 0 1 171.726 332.495 Tm [(the)-246(communication)-245(context)-246(identifying)-246(th)1(e)-246(virtual)-246(parallel)-245(machine,)-246(type)]TJ/F131 9.9626 Tf 1 0 0 1 175.611 320.54 Tm [(psb_ctxt_type)]TJ/F84 9.9626 Tf 1.004 0 0 1 243.606 320.54 Tm [(.)-310(Note)-249(that)-250(this)-249(is)-249(always)-250(a)-249(duplicate)-249(of)]TJ/F131 9.9626 Tf 1 0 0 1 418.036 320.54 Tm [(basectxt)]TJ/F84 9.9626 Tf 1.004 0 0 1 459.879 320.54 Tm [(,)-249(so)-250(that)]TJ 0.985 0 0 1 175.611 308.585 Tm [(library)-255(communications)-256(ar)19(e)-256(completely)-255(separated)-256(fr)19(om)-256(other)-255(communica-)]TJ 1 0 0 1 175.611 296.63 Tm [(tion)-250(operations.)]TJ 0 -11.956 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(required)]TJ/F84 9.9626 Tf 39.292 0 Td [(.)]TJ -66.072 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(out)]TJ/F84 9.9626 Tf 14.944 0 Td [(.)]TJ -46.745 -11.955 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(variable.)]TJ/F75 11.9552 Tf -24.906 -21.918 Td [(Notes)]TJ
+/F84 9.9626 Tf 1.01 0 0 1 171.726 273.665 Tm [(the)-246(communication)-245(context)-246(identifying)-246(th)1(e)-246(virtual)-246(parallel)-245(machine,)-246(type)]TJ/F131 9.9626 Tf 1 0 0 1 175.611 261.71 Tm [(psb_ctxt_type)]TJ/F84 9.9626 Tf 1.004 0 0 1 243.606 261.71 Tm [(.)-310(Note)-249(that)-250(this)-249(is)-249(always)-250(a)-249(duplicate)-249(of)]TJ/F131 9.9626 Tf 1 0 0 1 418.036 261.71 Tm [(basectxt)]TJ/F84 9.9626 Tf 1.004 0 0 1 459.879 261.71 Tm [(,)-249(so)-250(that)]TJ 0.985 0 0 1 175.611 249.754 Tm [(library)-255(communications)-256(ar)19(e)-256(completely)-255(separated)-256(fr)19(om)-256(other)-255(communica-)]TJ 1 0 0 1 175.611 237.799 Tm [(tion)-250(operations.)]TJ 0 -11.955 Td [(Scope:)]TJ/F75 9.9626 Tf 31.432 0 Td [(global)]TJ/F84 9.9626 Tf 28.782 0 Td [(.)]TJ -60.522 -11.955 Td [(T)90(ype:)]TJ/F75 9.9626 Tf 27.088 0 Td [(required)]TJ/F84 9.9626 Tf 39.292 0 Td [(.)]TJ -66.072 -11.955 Td [(Intent:)]TJ/F75 9.9626 Tf 31.801 0 Td [(out)]TJ/F84 9.9626 Tf 14.944 0 Td [(.)]TJ -46.745 -11.956 Td [(Speci\002ed)-250(as:)-310(an)-250(integer)-250(variable.)]TJ/F75 11.9552 Tf -24.906 -17.904 Td [(Notes)]TJ
0 g 0 G
-/F84 9.9626 Tf 12.453 -19.925 Td [(1.)]TJ
+/F84 9.9626 Tf 12.453 -16.714 Td [(1.)]TJ
0 g 0 G
[-461(A)-250(call)-250(to)-250(this)-250(r)18(outine)-250(must)-250(pr)18(ecede)-250(any)-250(other)-250(PSBLAS)-250(call.)]TJ
0 g 0 G
- 0 -19.925 Td [(2.)]TJ
+ 0 -18.32 Td [(2.)]TJ
0 g 0 G
- 0.98 0 0 1 175.611 187.041 Tm [(It)-236(is)-237(an)-236(err)18(or)-236(to)-236(specify)-237(a)-236(value)-236(for)]TJ/F78 9.9626 Tf 1 0 0 1 322.093 187.041 Tm [(n)-80(p)]TJ/F84 9.9626 Tf 0.98 0 0 1 335.842 187.041 Tm [(gr)18(eater)-236(than)-236(the)-237(number)-236(of)-236(pr)18(ocesses)]TJ 1 0 0 1 175.611 175.085 Tm [(available)-250(in)-250(the)-250(underlying)-250(base)-250(parallel)-250(envir)18(onment.)]TJ
+ 0.98 0 0 1 175.611 137.04 Tm [(It)-236(is)-237(an)-236(err)18(or)-236(to)-236(specify)-237(a)-236(value)-236(for)]TJ/F78 9.9626 Tf 1 0 0 1 322.093 137.04 Tm [(n)-80(p)]TJ/F84 9.9626 Tf 0.98 0 0 1 335.842 137.04 Tm [(gr)18(eater)-236(than)-236(the)-237(number)-236(of)-236(pr)18(ocesses)]TJ 1 0 0 1 175.611 125.085 Tm [(available)-250(in)-250(the)-250(underlying)-250(base)-250(parallel)-250(envir)18(onment.)]TJ
0 g 0 G
- 139.477 -84.647 Td [(112)]TJ
+ 139.477 -34.647 Td [(112)]TJ
0 g 0 G
ET
@@ -23261,11 +23279,11 @@ stream
>>
% 1756 0 obj
<<
-/D [1753 0 R /XYZ 150.705 222.691 null]
+/D [1753 0 R /XYZ 150.705 170.282 null]
>>
% 1757 0 obj
<<
-/D [1753 0 R /XYZ 150.705 200.171 null]
+/D [1753 0 R /XYZ 150.705 149.368 null]
>>
% 1752 0 obj
<<
@@ -33226,7 +33244,7 @@ stream
endstream
endobj
-2282 0 obj
+2285 0 obj
<<
/Length1 1383
/Length2 5908
@@ -33297,124 +33315,7 @@ W
6S&_!S|esUFRyYﭧN
endstream
endobj
-2284 0 obj
-<<
-/Length1 1956
-/Length2 7144
-/Length3 0
-/Length 9100
->>
-stream
-%!PS-AdobeFont-1.0: CMITT10 003.002
-%%Title: CMITT10
-%Version: 003.002
-%%CreationDate: Mon Jul 13 16:17:00 2009
-%%Creator: David M. Jones
-%Copyright: Copyright (c) 1997, 2009 American Mathematical Society
-%Copyright: (