Beispiel #1
0
void bli_l3_cntl_free_if
     (
       obj_t*  a,
       obj_t*  b,
       obj_t*  c,
       cntx_t* cntx,
       cntl_t* cntl_orig,
       cntl_t* cntl_use,
       thrinfo_t* thread
     )
{
	// If the control tree pointer is NULL, a default tree would have
	// been created, so we now must free it.
	if ( cntl_orig == NULL )
	{
		opid_t family = bli_cntx_get_family( cntx );

		if ( family == BLIS_GEMM ||
		     family == BLIS_HERK ||
		     family == BLIS_TRMM )
		{
			bli_gemm_cntl_free( cntl_use, thread );
		}
		else // if ( family == BLIS_TRSM )
		{
			bli_trsm_cntl_free( cntl_use, thread );
		}
	}
	else
	{
		// If the user provided a control tree, free the copy of it that
		// was created.
		bli_cntl_free( cntl_use, thread );
	}
}
Beispiel #2
0
void bli_trsm_cntl_free
     (
       cntl_t* cntl,
       thrinfo_t* thread
     )
{
	bli_cntl_free( cntl, thread );
}
Beispiel #3
0
void blx_gemm_cntl_free
     (
       cntl_t* cntl,
       thrinfo_t* thread
     )
{
	bli_cntl_free( cntl, thread );
}
Beispiel #4
0
void blx_l3_cntl_free_if
     (
       obj_t*  a,
       obj_t*  b,
       obj_t*  c,
       cntl_t* cntl_orig,
       cntl_t* cntl_use,
       thrinfo_t* thread
     )
{
	// If the control tree pointer is NULL, a default tree would have
	// been created, so we now must free it.
	if ( cntl_orig == NULL )
	{
		blx_gemm_cntl_free( cntl_use, thread );
	}
	else
	{
		// If the user provided a control tree, free the copy of it that
		// was created.
		bli_cntl_free( cntl_use, thread );
	}
}