PLA_INIT_F( COMM, IERROR ) Purpose: Initialize PLAPACK library. IN COMM base communicator to be used by PLAPACK (INTEGER) OUT IERROR error code (INTEGER)
PLA_FINALIZE_F( IERROR ) Purpose: Exit PLAPACK library. OUT IERROR error code (INTEGER)
PLA_INITIALIZED_F( INITIALIZED, IERROR ) Purpose: Check if PLAPACK is initialized. OUT INITIALIZED indicates whether PLAPACK is already initialized (INTEGER) OUT IERROR error code (INTEGER)
PLA_BASE_COMM_F( COMM, IERROR ) Purpose: Extract the PLAPACK base communicator. OUT COMM PLAPACK base communicator (INTEGER) OUT IERROR error code (INTEGER)
PLA_COMM_1D_TO_2D_F( COMM_IN, NPROWS, NPCOLS, COMM_OUT, IERROR ) Purpose: Create a communicator with a nprows by npcols topology. IN COMM1D communicator from which to create 2D communictor (INTEGER) IN NPROWS row dimension of 2D topology (INTEGER) IN NPCOLS column dimension of 2D topology (INTEGER) OUT COMM2D communicator with 2D topology (INTEGER) OUT IERROR error code (INTEGER)
PLA_COMM_1D_TO_2D_RATIO_F( COMM_IN, NPROWS, NPCOLS, COMM_OUT, IERROR ) Purpose: Create a communicator with a suggested ratio (nprows/npcols = ratio). IN COMM1D communicator from which to create 2D communictor (INTEGER) IN RATIO suggested ratio of row and column dimensions (REAL) OUT COMM2D communicator with 2D topology (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_CREATE_F( NB_DISTR, ZERO_OR_ONE, TEMPL, IERROR ) Purpose: Create template for vector and matrix alignment IN NB length of subvectors of inducing vector and vector template (INTEGER) IN ZERO_OR_ONE indexing starts with zero or one (INTEGER) OUT TEMPLATE template for matrix and vector distribution (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_FREE_F( TEMPL, IERROR ) Purpose: Free a template IN/OUT TEMPLATE template for vector and matrix distribution (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ALL_INFO_F( TEMPL, COMM, RANK, NUMNODES, IERROR ) Purpose: Extract communicator, calling node's rank in communicator, and number of nodes in communicator. IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator of node mesh (INTEGER) OUT RANK rank of calling node within node mesh (INTEGER) OUT NUMNODES number of nodes within node mesh (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ALL_F( TEMPL, COMM, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator of node mesh (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ALL_RANK_F( TEMPL, RANK, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT RANK rank of calling node within node mesh (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ALL_SIZE_F( TEMPL, NUMNODES, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NUMNODES number of nodes within node mesh (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ROW_INFO_F( TEMPL, COMM, RANK, NUMNODES, IERROR ) Purpose: Extract row communictor, calling node's rank in communicator, and number of nodes in communicator. IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator for calling node's row of nodes (INTEGER) OUT RANK rank of calling node within row of nodes (INTEGER) OUT NUMNODES number of nodes within row of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ROW_F( TEMPL, COMM, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator for calling node's row of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ROW_RANK_F( TEMPL, RANK, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT RANK rank of calling node within row of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_ROW_SIZE_F( TEMPL, NUMNODES, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NUMNODES number of nodes within row of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_COL_INFO_F( TEMPL, COMM, RANK, NUMNODES, IERROR ) Purpose: Extract column communictor, calling node's rank in communicator, and number of nodes in communicator. IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator for calling node's column of nodes (INTEGER) OUT RANK rank of calling node within column of nodes (INTEGER) OUT NUMNODES number of nodes within column of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_COL_F( TEMPL, COMM, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT COMM communicator for calling node's column of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_COL_RANK_F( TEMPL, RANK, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT RANK rank of calling node within column of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_COMM_COL_SIZE_F( TEMPL, NUMNODES, IERROR ) Purpose: IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NUMNODES number of nodes within column of nodes (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_NB_F( TEMPL, NB_DISTR, IERROR ) Purpose: Extract template block size IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NB block size of template (INTEGER) OUT IERROR error code (INTEGER)
PLA_TEMP_ZERO_OR_ONE_F( TEMPL, ZERO_OR_ONE, IERROR ) Purpose:Extract index start parameter IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT ZERO_OR_ONE indexing may start with zero or one (INTEGER) OUT IERROR error code (INTEGER)
PLA_VECTOR_CREATE_F( DATATYPE, M, TEMPL, ALIGN_ROW, X, IERROR ) Purpose: DO NOT USE. USE PLA_MVECTOR_CREATE_F INSTEAD OUT IERROR error code (INTEGER)
PLA_MVECTOR_CREATE_F( DATATYPE, M, N, TEMPL, ALIGN_ROW, X, IERROR ) Purpose: Create distributed multi-vector. IN DATATYPE datatype of object (INTEGER) IN GLOBAL_LENGTH global length of multi-vector (INTEGER) IN GLOBAL_WIDTH global width of multi-vector (INTEGER) IN TEMPLATE template for vector and matrix distribution (INTEGER) IN GLOBAL_ALIGN alignment to template (INTEGER) OUT NEW_OBJ object describing created multi-vector (INTEGER) OUT IERROR error code (INTEGER)
PLA_MATRIX_CREATE_F( DATATYPE, M, N, TEMPL, ALIGN_ROW, ALIGN_COL, A, IERROR ) Purpose: Create distributed matrix. IN DATATYPE datatype of object (INTEGER) IN GLOBAL_LENGTH global length of matrix (INTEGER) IN GLOBAL_WIDTH global width of matrix (INTEGER) IN TEMPLATE template for vector and matrix distribution (INTEGER) IN GLOBAL_ALIGN_ROW row alignment to template (INTEGER) IN GLOBAL_ALIGN_COL column alignment to template (INTEGER) OUT NEW_MATRIX object describing created matrix (INTEGER) OUT IERROR error code (INTEGER)
PLA_MSCALAR_CREATE_F( DATATYPE, OWNER_ROW, OWNER_COL, M, N, TEMPL, X, IERROR ) Purpose: Create distributed mutltiscalar. IN DATATYPE datatype of object (INTEGER) IN OWNER_ROW index of row of nodes with contains owning node(s) (INTEGER) IN OWNER_COL index of column of nodes with contains owning node(s) (INTEGER) IN LENGTH length of mscalar (INTEGER) IN WIDTH width of mscalar (INTEGER) IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NEW_MSCALAR object describing created multiscalar (INTEGER) OUT IERROR error code (INTEGER)
PLA_PVECTOR_CREATE_F( DATATYPE, PROJECT_ONTO, OWNER, M, TEMPL, ALIGN, X, IERROR ) Purpose: DO NOT USE. USE PLA_PMVECTOR_CREATE_F INSTEAD OUT IERROR error code (INTEGER)
PLA_PMVECTOR_CREATE_F( DATATYPE, PROJECT_ONTO, OWNER, M, N, TEMPL, ALIGN, X, IERROR ) Purpose: Create projected multi-vector. IN DATATYPE datatype of object (INTEGER) IN PROJECT_ONTO direction onto which to project (INTEGER) IN OWNER index of row or column of nodes which (INTEGER) containts projected vector (INTEGER) IN GLOBAL_PROJ_LENGTH length of (projected) vector (INTEGER) IN GLOBAL_PROJ_WIDTH width of (projected) vector (INTEGER) IN GLOBAL_ALIGN alignment to template (INTEGER) IN TEMPLATE template for vector and matrix distribution (INTEGER) OUT NEW_PROJ_MVECTOR object describing created projected multi-vector (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_FREE_F( OBJ, IERROR ) Purpose: Linear algebra object destructor. IN/OUT OBJECT object to be freed OUT IERROR error code (INTEGER)
PLA_OBJ_OBJTYPE_F( OBJ, OBJTYPE, IERROR ) Purpose: Extract object type from object. IN OBJ object to be queried (INTEGER) OUT OBJTYPE object type of object (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_DATATYPE_F( OBJ, DATATYPE, IERROR ) Purpose: Extract datatype from object. IN OBJ object to be queried (INTEGER) OUT DATATYPE datatype of object (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_TEMPLATE_F( OBJ, TEMPL, IERROR ) Purpose: Extract template from object. IN OBJ object to be queried (INTEGER) OUT TEMPLATE template (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_INFO_F( OBJ, GLOBAL_LENGTH, GLOBAL_WIDTH, PROJECT_ONTO, OWNER_ROW, OWNER_COL, GLOBAL_ALIGN_ROW, GLOBAL_ALIGN_COL, IERROR ) Purpose: Extract global information from linear algebra object. IN OBJ object to be queried (INTEGER) OUT GLOBAL_LENGTH global row dimension of object (INTEGER) OUT GLOBAL_WIDTH global column dimension of object (INTEGER) OUT PROJECT_ONTO direction of projection (INTEGER) OUT OWNER_ROW row index of owning node(s) (INTEGER) OUT OWNER_COL column index of owning node(s) (INTEGER) OUT GLOBAL_ALIGN(_ROW) (row) alignment to template (INTEGER) OUT GLOBAL_ALIGN_COL column alignment to template (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_LENGTH_F( OBJ, LENGTH, IERROR ) Purpose: Extract global length from linear algebra object. IN OBJ object to be queried (INTEGER) OUT GLOBAL_LENGTH global row dimension of object (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_WIDTH_F( OBJ, WIDTH, IERROR ) Purpose: Extract global width from linear algebra object. IN OBJ object to be queried (INTEGER) OUT GLOBAL_WIDTH global column dimension of object (INTEGER) OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_SIZE_F( OBJ, SIZE, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_NUMVECS_F( OBJ, NUMVECS, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_PROJECT_ONTO_F( OBJ, PROJECT_ONTO, IERROR ) Purpose: Extract projection information from linear algebra object. IN OBJ object to be queried OUT PROJECT_ONTO direction of projection OUT IERROR error code (INTEGER)
PLA_OBJ_OWNER_ROW_F( OBJ, OWNER_ROW, IERROR ) Purpose: Extract mesh row owner information rom linear algebra object. IN obj object to be queried OUT owner_row row index of owning node(s) OUT owner_col column index of owning node(s) OUT IERROR error code (INTEGER)
PLA_OBJ_OWNER_COL_F( OBJ, OWNER_COL, IERROR ) Purpose: Extract mesh column owner information rom linear algebra object. IN obj object to be queried OUT owner_col column index of owning node(s) OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_ALIGN_F( OBJ, GLOBAL_ALIGN, IERROR ) Purpose: Extract global alignment from linear algebra object. IN obj object to be queried OUT global_align Alignment to template OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_ALIGN_ROW_F( OBJ, GLOBAL_ALIGN_ROW, IERROR ) Purpose: Extract global row alignment from linear algebra object. IN obj object to be queried OUT global_align_row row alignment to template OUT IERROR error code (INTEGER)
PLA_OBJ_GLOBAL_ALIGN_COL_F( OBJ, GLOBAL_ALIGN_COL, IERROR ) Purpose: Extract global column alignment from linear algebra object. IN obj object to be queried OUT global_align_col column alignment to template OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_INFO_F( OBJ, LOCAL_LENGTH, LOCAL_WIDTH, DUMMY, LOCAL_STRIDE, LOCAL_LDIM, IERROR ) Purpose: Extract local information from linear algebra object. IN OBJ object to be queried OUT LOCAL_LENGTH local row dimension of object OUT LOCAL_WIDTH local column dimension of object OUT LOCAL_BUFFER address of local data OUT LOCAL_STRIDE stride between entries in a column or vector OUT LOCAL_LDIM leading dimension of array holding local data OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_LENGTH_F( OBJ, LOCAL_LENGTH, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_WIDTH_F( OBJ, LOCAL_WIDTH, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_BUFFER_F( OBJ, VOID **local_BUFFER, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_STRIDE_F( OBJ, LOCAL_STRIDE, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_LOCAL_LDIM_F( OBJ, LOCAL_LDIM, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_GET_LOCAL_CONTENTS_F( OBJ, TRANS, M, N, BUF, LDA, STRIDE, IERROR ) Purpose: Extract the local data from the given object. IN OBJ global object IN TRANS indicates whether to transpose data OUT M row dimension of extracted data OUT N column dimension of extracted data OUT BUF address where data is to be put (APPROPRIATE DATATYPE) IN LDIM leading dimension of buffer where data is put IN STRIDE stride of buffer where data is put OUT IERROR error code (INTEGER)
PLA_OBJ_SET_LOCAL_CONTENTS_F( TRANS, M, N, BUF, LDA, STRIDE, OBJ, IERROR ) Purpose: Set the local data from the given object. IN TRANS indicates whether to transpose data IN M row dimension of data buffer IN N column dimension of data buffer IN BUF address where data buffer (APPROPRIATE DATATYPE) IN LDIM leading dimension of buffer where data is put IN STRIDE stride of dataffer IN/OUT OBJ global object OUT IERROR error code (INTEGER)
PLA_OBJ_SET_F( OBJ, DATATYPE, VALUE, IERROR ) Purpose: Sets all entries in the linear algebra object to value. The value can be specified in an MPI datatype, and is cast to the appropriate type as the object. IN/OUT OBJ linear algebra object IN DATATYPE datatype of value IN VALUE value to be used for initialization OUT IERROR error code (INTEGER)
PLA_OBJ_SET_TO_ONE_F( OBJ, IERROR ) Purpose: Set all entries of object to one IN/OUT OBJ linear algebra object OUT IERROR error code (INTEGER)
PLA_OBJ_SET_TO_ZERO_F( OBJ, IERROR ) Purpose: Set all entries of object to zero IN/OUT OBJ linear algebra object OUT IERROR error code (INTEGER)
PLA_OBJ_SET_TO_MINUS_ONE_F( OBJ, IERROR ) Purpose: Set all entries of object to negative one IN/OUT OBJ linear algebra object OUT IERROR error code (INTEGER)
Section 3.1: Creating Views into Objects PLA_OBJ_VIEW_F PLA_OBJ_VIEW_ALL_F PLA_OBJ_VIEW_SWAP_F Section 3.2: Splitting of LAObjs PLA_OBJ_SPLIT_4_F PLA_OBJ_HORZ_SPLIT_2_F PLA_OBJ_VERT_SPLIT_2_F Section 3.3: Shifting of LAObjs PLA_OBJ_VIEW_SHIFT_F Section 3.4: Determining Where to Split PLA_OBJ_SPLIT_SIZE_F |
Section 3.5: Creating Objects "Conformal to" ... PLA_VECTOR_CREATE_CONF_TO_F PLA_MVECTOR_CREATE_CONF_TO_F PLA_PVECTOR_CREATE_CONF_TO_F PLA_PMVECTOR_CREATE_CONF_TO_F PLA_MATRIX_CREATE_CONF_TO_F PLA_MSCALAR_CREATE_CONF_TO_F PLA_CREATE_CONSTANTS_CONF_TO_F Section 3.6: Annotating Object Orientation PLA_OBJ_SET_ORIENTATION_F PLA_OBJ_GET_ORIENTATION_F Section 3.7: Casting Object Types PLA_OBJ_OBJTYPE_CAST_F |
PLA_OBJ_VIEW_F( OBJ, GLOBAL_LENGTH, GLOBAL_WIDTH, ALIGN_ROW, ALIGN_COL, OBJ_NEW, IERROR ) Purpose: Create a view (reference) into an existing linear algebra object. IN OLD_OBJ object into which view is taken IN GLOBAL_LENGTH row dimension of view IN GLOBAL_WIDTH column dimension of view IN ALIGN_ROW row index in old object of upper-left-hand element of view IN ALIGN_COL column index in old object of upper-left-hand element of view IN/OUT NEW_OBJ created view OUT IERROR error code (INTEGER)
PLA_OBJ_VIEW_ALL_F( OBJ, OBJ_NEW, IERROR ) Purpose: Create a view (reference) into all of existing linear algebra object. IN OLD_OBJ object into which view is taken IN/OUT NEW_OBJ created view OUT IERROR error code (INTEGER)
PLA_OBJ_VIEW_SWAP_F( OBJ1, OBJ2, IERROR ) Purpose: Swaps two views. IN/OUT OBJ1 linear algebra object IN/OUT OBJ2 linear algebra object OUT IERROR error code (INTEGER)
PLA_OBJ_SPLIT_4_F( OBJ, SIZE_ROW, SIZE_COL, OBJ_11, OBJ_12, OBJ_21, OBJ_22, IERROR ) Purpose: Split linear algebra object into four quadrants IN OBJ object to be split IN LENGTH row dimension of block (as indicated below) IN WIDTH column dimension of block (as indicated below) OUT UPPER_LEFT_OBJ new object for upper-left block OUT UPPER_RIGHT_OBJ new object for upper-right block OUT LOWER_LEFT_OBJ new object for lower-left block OUT LOWER_RIGHT_OBJ new object for lower-right block OUT IERROR error code (INTEGER) Here the value of length and width determine the size of one block while their sign determines which block the length and widht refer to. If : length >= 0 width >= 0 UPPER_LEFT_OBJ length < 0 width >= 0 LOWER_LEFT_OBJ length >= 0 width < 0 UPPER_RIGHT_OBJ length < 0 width < 0 LOWER_RIGHT_OBJ
PLA_OBJ_HORZ_SPLIT_2_F( OBJ, SIZE, OBJ_1, OBJ_2, IERROR ) Purpose: Split linear algebra object into top and bottom IN OBJ object to be split IN LENGTH row dimension of block (as indicated below) OUT UPPER_OBJ new object for upper block OUT LOWER_OBJ new object for lower block OUT IERROR error code (INTEGER) If : length >= 0 length specifies UPPER_OBJ length < 0 length specifies LOWER_OBJ
PLA_OBJ_VERT_SPLIT_2_F( OBJ, SIZE, OBJ_1, OBJ_2, IERROR ) Purpose: Split linear algebra object into left and right IN OBJ object to be split IN WIDTH column dimension of block (as indicated below) OUT LEFT_OBJ new object for left block OUT RIGHT_OBJ new object for right block OUT IERROR error code (INTEGER) If : width >= 0 width specifies LEFT_OBJ width < 0 width specifies RIGHT_OBJ
PLA_OBJ_VIEW_SHIFT_F( OBJ, TOP, LEFT, RIGHT, BOTTOM, IERROR ) Purpose: Shift the boundaries of the view of the linear algebra object IN/OUT OBJ object to be grown [shifted] IN LENGTH_TOP length to shift top boundary IN WIDTH_LEFT width to shift left boundary IN WIDTH_RIGHT width to shift right boundary IN LENGTH_BOTTOM length to shift bottom boundary OUT IERROR error code (INTEGER) Note : Positive is down/right negative is up/left (as if you were in quadrant IV in the cartesian plane.
PLA_OBJ_SPLIT_SIZE_F( OBJ, SIDE, SIZE, OWNER, IERROR ) Purpose: Compute size of split to next block boundary. IN OBJ object to be split IN SIDE side of split OUT SIZE size to next template subblock split OUT OWNER index of row or column of nodes that owns the split block OUT IERROR error code (INTEGER)
PLA_VECTOR_CREATE_CONF_TO_F( OBJ, NEW_OBJ, IERROR ) Purpose: DO NOT USE. USE PLA_MVECTOR_CREATE_CONF_TO_F INSTEAD. IN OBJ original object OUT NEW_VECTOR created object OUT IERROR error code (INTEGER)
PLA_PVECTOR_CREATE_CONF_TO_F( OBJ, PROJECT_ONTO, owner, NEW_OBJ, IERROR ) Purpose: Create mvector conformal to given object. IN OBJ original object IN GLOBAL_WIDTH number of vectors in mvector OUT NEW_MVECTOR created object OUT IERROR error code (INTEGER)
PLA_PMVECTOR_CREATE_CONF_TO_F( OBJ, PROJECT_ONTO, owner, NUM_VECTORS, NEW_OBJ, IERROR ) Purpose: Create projected mvector conformal to given object. IN OBJ original object IN PROJECT_ONTO mesh direction onto which to project IN OWNER index of row or column of nodes which contains owning nodes IN NUM_VECTORS number of vectors in multivector OUT NEW_PMVECTOR created object OUT IERROR error code (INTEGER)
PLA_MATRIX_CREATE_CONF_TO_F( OBJ, NEW_OBJ, IERROR ) Purpose: Create matrix conformal to given object (must be a matrix). IN MATRIX original object OUT NEW_MATRIX created object OUT IERROR error code (INTEGER)
PLA_MSCALAR_CREATE_CONF_TO_F( OBJ, OWNER_ROW, OWNER_COL, NEW_OBJ, IERROR ) Purpose: Create multiscalar conformal to given object. IN OBJ original object IN OWNER_ROW index of row of nodes that contains owning node(s) IN OWNER_COL index of column of nodes that contains owning node(s) OUT NEW_MSCALAR created object (multiscalar) OUT IERROR error code (INTEGER)
PLA_OBJ_SET_ORIENTATION_F( OBJ, PROJECT_ONTO, IERROR ) Purpose: Set the orientation of a matrix panel. IN/OUT OBJ original object IN PROJECT_ONTO annotation indicating orientation OUT IERROR error code (INTEGER)
PLA_OBJ_GET_ORIENTATION_F( OBJ, PROJECT_ONTO, IERROR ) Purpose: Return the orientation of a matrix panel. IN/OUT OBJ original object IN PROJECT_ONTO annotation indicating orientation OUT IERROR error code (INTEGER)
PLA_OBJ_OBJTYPE_CAST_F( OBJ, OBJTYPE, IERROR ) Purpose: Cast the linear algebra object to have given object type. IN/OUT OBJ original object IN OBJTYPE new object type OUT IERROR error code (INTEGER)
Section 4.2: API-Activation PLA_API_BEGIN_F PLA_API_END_F PLA_API_STATE_F Section 4.3: Opening and Closing an Object PLA_OBJ_API_OPEN_F PLA_OBJ_API_CLOSE_F PLA_OBJ_API_MODE_F |
Section 4.4: Accessing a Vector PLA_API_AXPY_VECTOR_TO_GLOBAL_F PLA_API_AXPY_GLOBAL_TO_VECTOR_F PLA_API_MULTI_AXPY_VECTOR_TO_GLOBAL_F PLA_API_MULTI_AXPY_GLOBAL_TO_VECTOR_F Section 4.5: Accessing a Matrix PLA_API_AXPY_MATRIX_TO_GLOBAL_F PLA_API_AXPY_GLOBAL_TO_MATRIX_F PLA_API_MULTI_AXPY_MATRIX_TO_GLOBAL_F PLA_API_MULTI_AXPY_GLOBAL_TO_MATRIX_F Section 4.6: Completion and Synchronization PLA_API_SYNC_F |
PLA_API_BEGIN_F( IERROR ) Purpose: Activites the API active state. OUT IERROR error code (INTEGER)
PLA_API_END_F( IERROR ) Purpose: De-activates the API active state. OUT IERROR error code (INTEGER)
PLA_API_STATE_F( STATE, IERROR ) Purpose: Determines the state of a linear algebra object. OUT state State of linear algebra object OUT IERROR error code (INTEGER)
PLA_OBJ_API_OPEN_F( OBJ, IERROR ) Purpose: Puts object into asynchronous mode(makes PLA_Obj_API_ operations on the object allowable). IN/OUT obj Linear algebra object (to be) placed in asynchronous mode. OUT IERROR error code (INTEGER)
PLA_OBJ_API_CLOSE_F( OBJ, IERROR ) Purpose: Puts object into synchronous mode (disallows PLA_Obj_API_ operations on the object). IN/OUT obj Linear algebra object (to be) taken out of asynchronous mode. OUT IERROR error code (INTEGER)
PLA_OBJ_API_MODE_F( OBJ, MODE, IERROR ) Purpose: Returns the mode of the linear algebra object (PLA_MODE_CLOSED or PLA_MODE_OPEN). IN obj Linear algebra object OUT mode Mode of linear algebra object OUT IERROR error code (INTEGER)
PLA_API_AXPY_VECTOR_TO_GLOBAL_F( SIZE, VOID *alpha, VOID *x, STRIDE, X_GLOBAL, DISP_ROW, IERROR ) Purpose: Add local vector buffer data to global vector object. IN size Length of vector IN * alpha Scalar in axpy operation IN * local_obj Local vector values IN local_inc Local vector increment (stride) IN/OUT laobj Global vector (target linear algebra object) IN disp Global vector displacement OUT IERROR error code (INTEGER)
PLA_API_AXPY_GLOBAL_TO_VECTOR_F( SIZE, VOID *alpha, X_GLOBAL, disp_ROW, VOID *x, STRIDE, IERROR ) Purpose: Add piece of global vector object to local linear algebra object. IN size Length of vector IN * alpha Scalar in axpy operation IN laobj Global vector object IN displ Displacement (in global object) IN/OUT * local_obj Local linear algebra object (target) buffer IN local_inc Local vector increment (stride) OUT IERROR error code (INTEGER)
PLA_API_MULTI_AXPY_VECTOR_TO_GLOBAL_F( NSUB, SIZES, VOID *alpha, VOID *local_VECTOR, STRIDE, X_GLOBAL, DISPS_ROW, IERROR ) Purpose: Add local sub-vector buffer data chunks to global vector object. IN nsub Number of subvectors IN * size Length of subvectors IN * alpha Scalar in axpy operation IN * local_vector Local vector values IN local_stride Local vector increment (stride) IN/OUT laobj Global vector (target linear algebra object) IN * displs Global vector displacements OUT IERROR error code (INTEGER)
PLA_API_MULTI_AXPY_GLOBAL_TO_VECTOR_F( NSUB, SIZES, VOID *alpha, X_GLOBAL, disps_ROW, VOID *x, STRIDE, IERROR ) Purpose: Add pieces of global vector object to local vector. IN nsub Number of subvectors IN * size Length of subvectors IN * alpha Scalar in axpy operation IN laobj Global vector object IN * displs Displacements (in global object) IN/OUT * local_vector Local linear algebra object (target) buffer IN local_stride Local vector increment (stride) OUT IERROR error code (INTEGER)
PLA_API_AXPY_MATRIX_TO_GLOBAL_F( SIZE_ROW, SIZE_COL, void *alpha, VOID *a, LDA, A_GLOBAL, DISP_ROW, DISP_COL, IERROR ) Purpose: Add local matrix buffer data to global matrix object. IN size_row Length of matrix IN size_col Width of matrix IN * alpha Scalar in axpy operation IN * local_obj Local matrix values (buffer) IN local_ldim Local matrix leading dimension IN/OUT obj Global matrix (target linear algebra object) IN disp_row Global matrix row displacement IN disp_col Global matrix column displacement OUT IERROR error code (INTEGER)
PLA_API_AXPY_GLOBAL_TO_MATRIX_F( SIZE_ROW, SIZE_COL, void *alpha, A_GLOBAL, DISP_ROW, DISP_COL, void *a, LDA, IERROR ) Purpose: Add piece of global matrix object to local linear algebra object (matrix). IN size_row Length of matrix IN size_col Width of matrix IN * alpha Scalar in axpy operation IN obj Global vector object IN displ_row Row displacement (in global object) IN displ_col Column displacement (in global object) IN/OUT * local_matrix Local linear algebra object (target) buffer IN local_ldim Local matrix leading dimension OUT IERROR error code (INTEGER)
PLA_API_MULTI_AXPY_MATRIX_TO_GLOBAL_F( NSUB_ROW, NSUB_COL, size_ROW, SIZE_COL, void *alpha, VOID *a, LDA, A_GLOBAL, DISP_ROW, DISP_COL, IERROR ) Purpose: Add local sub-matrix buffer data chunks to global matrix object. IN nsub_row Number of row subblocks to map IN nsub_row Number of column subblocks to map IN * size_row Row block lengths IN * size_col Column block widths IN * alpha Scalar in axpy operation IN * local_matrix Local matrix values IN local_ldim Local matrix leading dimension IN/OUT obj Global matrix (target linear algebra object) IN * disp_row Global matrix row displacements IN * disp_col Global matrix column displacements OUT IERROR error code (INTEGER)
PLA_API_MULTI_AXPY_GLOBAL_TO_MATRIX_F( NSUB_ROW, NSUB_COL, size_ROW, SIZE_COL, void *alpha, A_GLOBAL, DISP_ROW, DISP_COL, void *a, LDA, IERROR ) Purpose: Add pieces of global matrix object to local matrix. IN nsub_row Number of row subblocks to map IN nsub_row Number of column subblocks to map IN * size_row Row block lengths IN * size_col Column block widths IN * alpha Scalar in axpy operation IN obj Global matrix IN * disp_row Global matrix row displacements IN * disp_col Global matrix column displacements IN/OUT * local_matrix Local matrix values IN local_ldim Local matrix leading dimension OUT IERROR error code (INTEGER)
PLA_OBJ_API_SYNC_F( OBJ, IERROR ) Purpose: Synchronizes all nodes w.r.t. the given object and completes all pending "API_axpy" operations on the object. IN/OUT OBJ Linear algebra object OUT IERROR error code (INTEGER)
Section 5.1: Copy PLA_COPY_F PLA_COPY_X_F Section 5.2: Reduce PLA_REDUCE_F PLA_REDUCE_X_F |
Section 5.3: Pipelining Computation and Communication PLA_TEMP_SET_COMM_DIR_F PLA_TEMP_GET_COMM_DIR_F |
PLA_COPY_F( OBJ_FROM, OBJ_TO, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_COPY_X_F( SHAPE, OBJ_FROM, OBJ_TO, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_REDUCE_F( OBJ_FROM, OP, OBJ_TO, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_REDUCE_X_F( SHAPE, OBJ_FROM, OBJ_ALPHA, OBJ_TO, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TEMP_SET_COMM_DIR_F( TEMPL, MESH_DIMENSION, DIRECTION, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TEMP_GET_COMM_DIR_F( TEMPL, MESH_DIMENSION, DIRECTION, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_COPY_F( X, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SWAP_F( X, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SCAL_F( ALPHA, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_INV_SCAL_F( ALPHA, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_AXPY_F( ALPHA, X, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_DOT_F( X, Y, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_ASUM_F( X, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_NRM2_F( X, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_IAMAX_F( X, ALPHA, INDEX, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SWAP_F( X, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SCAL_F( ALPHA, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_INV_SCAL_F( ALPHA, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_AXPY_F( ALPHA, X, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_DOT_F( X, Y, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_ASUM_F( X, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_NRM2_F( X, ALPHA , IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_IAMAX_F( X, ALPHA, INDEX, IERROR ) Purpose: OUT IERROR error code (INTEGER)
Local level-2 BLAS: PLA_LOCAL_GEMV_F PLA_LOCAL_SYMV_F PLA_LOCAL_TRMV_F PLA_LOCAL_TRSV_F PLA_LOCAL_GER_F PLA_LOCAL_SYR_F PLA_LOCAL_SYR2_F |
Global level-2 BLAS: PLA_GEMV_F PLA_SYMV_F PLA_TRMV_F PLA_TRSV_F PLA_GER_F PLA_SYR_F PLA_SYR2_F |
PLA_LOCAL_GEMV_F( TRANS, ALPHA, A, X, BETA, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYMV_F( UPLO, ALPHA, A, X, BETA, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_GER_F( ALPHA, X, Y, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYR_F( ALPHA, X, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYR2_F( UPLO, ALPHA, X, Y, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_TRMV_F( UPLO, TRANS, DIAG, A, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_TRSV_F( UPLO, TRANS, DIAG, A, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_GEMV_F( TRANS, ALPHA, A, X, BETA, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYMV_F( UPLO, ALPHA, A, X, BETA, Y, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_GER_F( ALPHA, X, Y, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYR_F( ALPHA, X, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYR2_F( UPLO, ALPHA, X, Y, A, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TRMV_F( UPLO, TRANS, DIAG, A, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TRSV_F( UPLO, TRANS, DIAG, A, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
Local level-3 BLAS: PLA_LOCAL_GEMM_F PLA_LOCAL_SYMM_F PLA_LOCAL_SYRK_F PLA_LOCAL_SYR2K_F PLA_LOCAL_TRMM_F PLA_LOCAL_TRSM_F |
Global level-3 BLAS: PLA_GEMM_F PLA_SYMM_F PLA_SYRK_F PLA_SYR2K_F PLA_TRMM_F PLA_TRSM_F |
PLA_LOCAL_GEMM_F( TRANSA, TRANSB, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYMM_F( SIDE, UPLO, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYRK_F( UPLO, TRANS, ALPHA, A, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SYR2K_F( SIDE, TRANS, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_TRMM_F( SIDE, UPLO, TRANS, DIAG, alpha, A, B, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_TRSM_F( SIDE, UPLO, TRANS, DIAG, alpha, A, B, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_GEMM_F( TRANSA, TRANSB, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYMM_F( SIDE, UPLO, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYRK_F( UPLO, TRANS, ALPHA, A, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYR2K_F( SIDE, TRANS, ALPHA, A, B, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TRMM_F( SIDE, UPLO, TRANS, DIAG, alpha, A, B, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_TRSM_F( SIDE, UPLO, TRANS, DIAG, alpha, A, B, IERROR ) Purpose: OUT IERROR error code (INTEGER)
New Local Routines: PLA_LOCAL_EQUAL_ZERO_F PLA_LOCAL_INVERT_SIGN_F PLA_LOCAL_SIGN_F PLA_LOCAL_SQRT_F |
New object manipulation routines: PLA_CREATE_CONSTANTS_CONF_TO_F PLA_OBJ_SET_TO_IDENTITY_F PLA_OBJ_SPLIT_SIZE_TO_NEXT_PROC_F |
Specialized BLAS routines: PLA_DOT_ADD_F PLA_DOT_X_F PLA_SCAL_X_F PLA_SYRK_PERFORM_LOCAL_PART_F |
Specialized communication routines: PLA_COPY_ADD_F |
PLA_LOCAL_EQUAL_ZERO_F( ALPHA, RESULT, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_INVERT_SIGN_F( ALPHA, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SIGN_F( ALPHA, RESULT, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_LOCAL_SQRT_F( ALPHA, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_CREATE_CONSTANTS_CONF_TO_F( OBJ, MINUS_ONE, ZERO, ONE, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_SET_TO_IDENTITY_F( ALPHA, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_OBJ_SPLIT_SIZE_TO_NEXT_PROC_F( OBJ, SIDE, SIZE, OWNER, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_DOT_ADD_F( X, Y, ALPHA, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_DOT_X_F( ALPHA, X, Y, BETA, RESULT, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_DOT_ADD_F( X, Y, ALPHA, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SCAL_X_F( SHAPE, ALPHA, X, IERROR ) Purpose: OUT IERROR error code (INTEGER)
PLA_SYRK_PERFORM_LOCAL_PART_F( UPLO, ALPHA, A, BETA, C, IERROR ) Purpose: OUT IERROR error code (INTEGER)