next up previous contents
Next: 2.3 Linear Algebra Objects Up: 2.2 Distribution Templates Previous: 2.2.2 Template destruction

2.2.3 Template inquiry routines

  Rather than accessing the data structure that encodes the template directly, the library provides inquiry routines, which can be used to query information about the mesh of nodes and the distribution of the template. The general rule is that all template inquiry routines start with PLA_Temp_ followed by the name of the field required.

In order to perform explicit communication using MPI, a routine may need access to the communicator describing all nodes in which the matrices and vectors exist. To gain access to information about this communicator PLAPACK provides the call


figure2225

figure2227

figure2230


We also provide separate calls to extract each individual piece of information:

figure2234

Note: The communicator returned is not the same as the communicator used to initialize PLAPACK. Notice that PLAPACK inherently orders the nodes in   column-major order. Since MPI orders nodes in row-major order, a new one-dimensional communicator, which describes the same nodes but in the new order, is created as part of the template creation process. It is information about this communicator that is queried by the above calls.

Frequently, communication occurs only within a row or column of nodes. For this purpose, we provide inquiry routines that return the communicator and related information for the row and column of nodes in which the calling node is a member:


figure2256

figure2258

figure2261


As for the PLA_Temp_comm_all_info call, we also provide separate calls to each individual piece of information:

figure2265

and

figure2267

One can recover the   distribution blocking size used to create the template by calling


 

figure2284

figure2286

figure2289


Indexing within a routine may be affected by the choice to start indexing into arrays at 0 or 1 . Recovering this information is facilitated by


figure2307

figure2309

figure2312



next up previous contents
Next: 2.3 Linear Algebra Objects Up: 2.2 Distribution Templates Previous: 2.2.2 Template destruction

rvdg@cs.utexas.edu