Skip to content

Default BLIS_[MNK]T values never actually set #781

@devinamatthews

Description

@devinamatthews

In bli_cntx_init_ref.c, the default values for the gemmsup thresholds (BLIS_[MNK]T blocksizes) are set to zero, so that no operation ever matches the criteria for gemmsup. HOWEVER, these are set via bli_cntx_set_blkszs which calls bli_cntx_set_blksz which calls bli_blksz_copy_if_pos. Thus, the zero values are simply discarded and those blocksizes remain uninitialized. The upshot of this is that the reference gemmsup handler is called for gemm problems essentially at random (and as it turns out, very rarely the reference gemmsup implementation encounters a divide-by-zero error). Because bli_gemmt?sup checks if m, n, and k are less than the thresholds, setting the default values to 1 should be safe and effective.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions