BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00014 #if !defined(INC_OSKI_HINT_H) && !defined(OSKI_UNBIND) 00015 00016 #define INC_OSKI_HINT_H 00017 00018 #include <oski/common.h> 00019 #include <oski/matrix.h> 00020 00021 #if defined(DO_NAME_MANGLING) 00022 00024 #define oski_SetHintMatMult \ 00025 MANGLE_(oski_SetHintMatMult) 00026 #define oski_SetHintMatTrisolve \ 00027 MANGLE_(oski_SetHintMatTrisolve) 00028 #define oski_SetHintMatMultAndMatTransMult \ 00029 MANGLE_(oski_SetHintMatMultAndMatTransMult) 00030 #define oski_SetHintMatTransMatMult \ 00031 MANGLE_(oski_SetHintMatTransMatMult) 00032 #define oski_SetHintMatPowMult \ 00033 MANGLE_(oski_SetHintMatPowMult) 00034 00035 #define oski_SetHint MANGLE_(oski_SetHint) 00036 00037 #endif 00038 00039 /* ------------------------------------------------------ */ 00040 00046 00050 int oski_SetHint (oski_matrix_t A_tunable, oski_tunehint_t hint, ...); 00051 00055 int oski_SetHintMatMult (oski_matrix_t A_tunable, oski_matop_t opA, 00056 oski_value_t alpha, const oski_vecview_t x_view, 00057 oski_value_t beta, const oski_vecview_t y_view, 00058 int num_calls); 00059 00063 int oski_SetHintMatTrisolve (oski_matrix_t T_tunable, 00064 oski_matop_t opT, 00065 oski_value_t alpha, const oski_vecview_t x_view, 00066 int num_calls); 00067 00071 int oski_SetHintMatTransMatMult (oski_matrix_t A_tunable, 00072 oski_ataop_t opA, 00073 oski_value_t alpha, 00074 const oski_vecview_t x_view, 00075 oski_value_t beta, 00076 const oski_vecview_t y_view, 00077 const oski_vecview_t t_view, int num_calls); 00078 00083 int oski_SetHintMatMultAndMatTransMult (oski_matrix_t A_tunable, 00084 oski_value_t alpha, 00085 const oski_vecview_t x_view, 00086 oski_value_t beta, 00087 const oski_vecview_t y_view, 00088 oski_matop_t opA, oski_value_t omega, 00089 const oski_vecview_t w_view, 00090 oski_value_t zeta, 00091 const oski_vecview_t z_view, 00092 int num_calls); 00093 00097 int oski_SetHintMatPowMult (oski_matrix_t A_tunable, 00098 oski_matop_t opA, int power, 00099 oski_value_t alpha, const oski_vecview_t x_view, 00100 oski_value_t beta, const oski_vecview_t y_view, 00101 const oski_vecview_t T_view, int num_calls); 00104 #endif /* !defined(INC_OSKI_HINT_H) */ 00105 00106 #if defined(OSKI_UNBIND) 00107 # include <oski/matrix.h> 00108 # undef INC_OSKI_HINT_H 00109 # undef oski_SetHintMatMult 00110 # undef oski_SetHintMatTrisolve 00111 # undef oski_SetHintMatMultAndMatTransMult 00112 # undef oski_SetHintMatTransMatMult 00113 # undef oski_SetHintMatPowMult 00114 # undef oski_SetHint 00115 #endif 00116 00117 /* eof */