BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00010 #if !defined(INC_OSKI_HEUR_REGBLOCK_H) 00011 00012 #define INC_OSKI_HEUR_REGBLOCK_H 00013 00014 #include <oski/common.h> 00015 #include <oski/modcommon.h> 00016 #include <oski/heurexport.h> 00017 00018 #if defined(DO_NAME_MANGLING) 00019 00021 #define oski_regblock_t MANGLE_(oski_regblock_t) 00022 #define oski_LoadProfileBCSRMatMult \ 00023 MANGLE_(oski_LoadProfileBCSRMatMult) 00024 #define oski_UnloadProfileBCSRMatMult \ 00025 MANGLE_(oski_UnloadProfileBCSRMatMult) 00026 00027 #endif 00028 00034 typedef struct 00035 { 00036 oski_index_t r; 00037 oski_index_t c; 00038 } oski_regblock_t; 00039 00046 typedef struct 00047 { 00048 size_t max_r; 00049 size_t max_c; 00050 double *perf; 00051 } 00052 oski_profile_BCSRMatMult_t; 00053 00058 #define PROF_BCSR_GET(P, r, c) ((P)->perf[((r)-1)*(P)->max_c + (c)-1]) 00059 00064 #define PROF_BCSR_SET(P, r, c, v) \ 00065 ((P)->perf[((r)-1)*(P)->max_c + (c)-1] = (v)) 00066 00071 const oski_profile_BCSRMatMult_t *oski_LoadProfileBCSRMatMult (const char 00072 *filename); 00073 00078 void oski_UnloadProfileBCSRMatMult (void); 00079 00080 #endif 00081 00082 /* eof */