bool_t bli_ind_oper_has_avail( opid_t oper, num_t dt ) { ind_t method = bli_ind_oper_find_avail( oper, dt ); if ( method == BLIS_NAT ) return FALSE; else return TRUE; }
char* bli_ukr_avail_impl_string( l3ukr_t ukr, num_t dt ) { opid_t oper; ind_t method; kimpl_t ki; // We need to decide which operation we will use to query the // current available induced method. If the ukr type given is // BLIS_GEMM_UKR, we use gemm. Otherwise, we use trsm (since // the four other defined ukr types are trsm-related). if ( ukr == BLIS_GEMM_UKR ) oper = BLIS_GEMM; else oper = BLIS_TRSM; // Query the current available induced method using the // chosen operation id type. method = bli_ind_oper_find_avail( oper, dt ); // Query the ukernel implementation type using the current // available method. ki = bli_ukr_impl_type( ukr, method, dt ); return bli_ukr_impl_str[ ki ]; }
char* bli_ind_oper_get_avail_impl_string( opid_t oper, num_t dt ) { ind_t method = bli_ind_oper_find_avail( oper, dt ); return bli_ind_get_impl_string( method ); }
void* bli_ind_oper_get_avail( opid_t oper, num_t dt ) { ind_t method = bli_ind_oper_find_avail( oper, dt ); return bli_ind_oper_get_func( oper, method ); }