OpenAtom
Version1.5a
|
Module: CLA_Matrix Purpose: dense matrix-matrix multiplication. More...
Go to the source code of this file.
Functions | |
entry void | CLA_MM3D_multiplier (int m, int k, int n) |
entry void | initialize_reduction (CLA_MM3D_mult_init_msg *m) |
entry void | receiveA (CLA_Matrix_msg *msg) |
entry void | receiveB (CLA_Matrix_msg *msg) |
entry void | CLA_Matrix (int M, int K, int N, int m, int k, int n, int strideM, int strideK, int strideN, int part, CProxy_CLA_Matrix other1, CProxy_CLA_Matrix other2, CkCallback ready, int gemmSplit) |
entry void | CLA_Matrix (CProxy_CLA_MM3D_multiplier p, int M, int K, int N, int m, int k, int n, int strideM, int strideK, int strideN, int part, CkCallback cb, CkGroupID gid, int gemmSplit) |
entry void | ready (CkReductionMsg *m) |
entry void | readyC (CkReductionMsg *m) |
entry void | mult_done (CkReductionMsg *m) |
Variables | |
module CLA_Matrix include paircalc pcFwdDeclarations | h |
message | CLA_Matrix_msg |
message | CLA_MM3D_mult_init_msg |
group | CLA_MM3D_Map |
group int | K_chunks |
group int int | N_chunks |
array[3D] | CLA_MM3D_multiplier |
array[2D] | CLA_Matrix |
Module: CLA_Matrix Purpose: dense matrix-matrix multiplication.
Usage:
To multiply once you have the CLA_Matrix_interface object o, do this: o.multiply(alpha, beta, data, fptr, usr_data, thisIndex.x, thisIndex.y)
Note: When mentioning which parameters below are used, we refer only to the 2D algorithm. Notes for the 3D algorithm will be added later.
Alpha and beta should be doubles. Only the alpha and beta passed to the C array will be used. Data should be a double* pointing to the data to be multiplied if we are at the chare array bound to the A or B arrays. Otherwise (we are at C), it should be the location where to store the result. We need to pass the index since we will use ckLocal calls. Once the multiplication has finished, the C array will call to function pointed to by fptr, passing it usr_data. These arguments will be ignored by A and B. fptr should take a void* as an argument are return void.
Definition in file CLA_Matrix.ci.
array [2D] CLA_Matrix |
Definition at line 48 of file CLA_Matrix.ci.
message CLA_Matrix_msg |
Definition at line 31 of file CLA_Matrix.ci.
array [3D] CLA_MM3D_multiplier |
Definition at line 40 of file CLA_Matrix.ci.