Skip building thrinfo_t tree when mt is disabled.

Details:
- Return early from bli_thrinfo_sup_grow() if the thrinfo_t object
  address is equal to either &BLIS_GEMM_SINGLE_THREADED or
  &BLIS_PACKM_SINGLE_THREADED.
- Added preprocessor logic to bli_l3_sup_thread_decorator() in
  bli_l3_sup_decor_single.c that (by default) disables code that
  creates and frees the thrinfo_t tree and instead passes
  &BLIS_GEMM_SINGLE_THREADED as the thrinfo_t pointer into the
  sup implementation.
- The net effect of the above changes is that a small amount of
  thrinfo_t overhead is avoided when running small/skinny dgemm
  problems when BLIS is compiled with multithreading disabled.
This commit is contained in:
Field G. Van Zee
2020-02-18 15:16:03 -06:00
committed by Dipal M Zambare
parent c7087cd44f
commit 39ffed8d03

View File

@@ -42,6 +42,9 @@ void bli_thrinfo_sup_grow
thrinfo_t* thread
)
{
if ( thread == &BLIS_GEMM_SINGLE_THREADED ||
thread == &BLIS_PACKM_SINGLE_THREADED ) return;
// NOTE: If bli_thrinfo_sup_rgrow() is being called, the sub_node field will
// always be non-NULL, and so there's no need to check it.
//if ( bli_cntl_sub_node( cntl ) != NULL )