00001 #ifndef MXM_COL_H_ 00002 #define MXM_COL_H_ 00003 00004 #include <mpi.h> 00005 //#include "mxm_cblas.h" 00006 #include "datapart_2d/mm_col_distr.h" 00007 00009 typedef struct fupermod_dgemm_workspace { 00011 int kb; 00013 int N; 00015 double *WA; 00017 double *WB; 00018 mm_col_i_distrib* idist; 00019 } fupermod_dgemm_workspace; 00020 00022 //fupermod_dgemm_workspace* fupermod_dgemm_alloc(MPI_Comm comm, int N, int kb, long long int area); 00023 fupermod_dgemm_workspace* fupermod_dgemm_alloc_car(MPI_Comm comm, int N, int kb, long long int area, fupermod_process_conf* confs, char* distfile); 00024 00026 //void fupermod_dgemm_free(fupermod_dgemm_workspace* w); 00027 void fupermod_dgemm_free_car(fupermod_dgemm_workspace* w); 00028 00029 /* fupermod heterogeneous dgemm */ 00030 int fupermod_dgemm_car(double *A, double *B, double *C, MPI_Comm comm, fupermod_dgemm_workspace* w); 00031 00032 #endif /* MXM_COL_H_ */