BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
00001 00026 #if !defined(INC_OSKI_KERINFO_H) 00027 00028 #define INC_OSKI_KERINFO_H 00029 00033 typedef struct tagBebop_kerinfo_t 00034 { 00035 oski_id_t id; 00036 const char *name; 00037 } oski_kerinfo_t; 00038 00047 #define OSKI_KERNEL(macro_tag, name) {OSKI_KERNEL_##macro_tag, name} 00048 00050 #define OSKI_KERNEL_END INVALID_ID 00051 #define OSKI_KERNEL_END_REC OSKI_KERNEL(END, NULL) 00052 00061 00063 #define OSKI_KERNEL_MatMult 1 00064 #define OSKI_KERNEL_MatMult_REC OSKI_KERNEL(MatMult, "MatMult") 00065 00068 #define OSKI_KERNEL_MatTrisolve 2 00069 #define OSKI_KERNEL_MatTrisolve_REC OSKI_KERNEL(MatTrisolve, "MatTrisolve") 00070 00076 #define OSKI_KERNEL_MatMultAndMatTransMult 3 00077 #define OSKI_KERNEL_MatMultAndMatTransMult_REC \ 00078 OSKI_KERNEL(MatMultAndMatTransMult, "MatMultAndMatTransMult") 00079 00084 #define OSKI_KERNEL_MatTransMatMult 4 00085 #define OSKI_KERNEL_MatTransMatMult_REC \ 00086 OSKI_KERNEL(MatTransMatMult, "MatTransMatMult") 00087 00092 #define OSKI_KERNEL_MatPowMult 5 00093 #define OSKI_KERNEL_MatPowMult_REC OSKI_KERNEL(MatPowMult, "MatPowMult") 00094 00097 00101 const oski_kerinfo_t *oski_LookupKernelInfo (oski_id_t id); 00102 00103 #endif 00104 00105 /* eof */