The PLAPACK calling sequences for swap are place HR here
place HR here The data type of the operands and parameters like vector length and stride are now passed as part of linear algebra objects x and y.
When a node calls PLA_Local_swap, the operation is equivalent to extracting the local information (data type, length, and pointer to the buffers) and locally performing the swap. The object type can be any valid PLAPACK object type. Like the local copy operation, PLA_Local_swap can also swap two dimensional objects (multiscalars, (projected) (duplicated) multivectors and matrices). The local dimensions of x, and y must be such that the operation is well-defined (i.e., local dimensions match). All objects must have the same data type. Notice: no communication is performed as part of this call. Thus, all information must be locally available.
All nodes must simultaneously call PLA_Swap, which performs the BLAS call on the distributed objects. Parameters x and y can be of any object type. The global dimensions of the different objects must be such that the operation is well-defined.