fupermod: Functional Performance Models of heterogeneous processors
Classes | |
| struct | fupermod_gemm | 
Defines | |
| #define | FUPERMOD_MPI_FLOAT MPI_DOUBLE | 
Typedefs | |
| typedef double | fupermod_float | 
Functions | |
| fupermod_gemm * | fupermod_gemm_alloc (fupermod_process_conf *conf) | 
| void | fupermod_gemm_execute (struct fupermod_gemm *gemm, const enum CBLAS_ORDER Order, const enum CBLAS_TRANSPOSE TransA, const enum CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, const fupermod_float alpha, const fupermod_float *A, const int lda, const fupermod_float *B, const int ldb, const fupermod_float beta, fupermod_float *C, const int ldc) | 
| void | fupermod_gemm_free (fupermod_gemm *gemm) | 
Detailed Description
Main data structures are BLAS operation workspaces, for example fupermod_gemm. A BLAS operation workspace encapsulates the internal state of the operation and provides the execute method, using CBLAS interface.
Tests and examples
Define Documentation
| #define FUPERMOD_MPI_FLOAT MPI_DOUBLE | 
Double-precision floating-point data type for MPI
Typedef Documentation
| typedef double fupermod_float | 
Double-precision floating-point data type
Function Documentation
| fupermod_gemm* fupermod_gemm_alloc | ( | fupermod_process_conf * | conf | ) | 
Allocate GEMM workspace
| void fupermod_gemm_execute | ( | struct fupermod_gemm * | gemm, | |
| const enum CBLAS_ORDER | Order, | |||
| const enum CBLAS_TRANSPOSE | TransA, | |||
| const enum CBLAS_TRANSPOSE | TransB, | |||
| const int | M, | |||
| const int | N, | |||
| const int | K, | |||
| const fupermod_float | alpha, | |||
| const fupermod_float * | A, | |||
| const int | lda, | |||
| const fupermod_float * | B, | |||
| const int | ldb, | |||
| const fupermod_float | beta, | |||
| fupermod_float * | C, | |||
| const int | ldc | |||
| ) | 
Execute GEMM
| void fupermod_gemm_free | ( | fupermod_gemm * | gemm | ) | 
Free GEMM workspace


