flame / blis

BLAS-like Library Instantiation Software Framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

All dcomplex 1m operations fail for mixed row/col dgemm ukrs

devinamatthews opened this issue · comments

When the sgemm microkernel is row-major and the dgemm microkernel is column-major or vice versa, all dcomplex 1m operations fail. I guess the row/column preference is being read from the wrong precision?

The problem is reproduced in this branch for haswell.

See also #533.

Le sigh. I'll investigate.

I think I've tracked this down. It appears that there is an implicit assumption that when using 1m, your read-domain gemm ukernels share the same IO preference.

This is a really tricky bug. I have a proposed solution, but it'll take a day or two to implement due to the extensive changes required.

I think I know the why my fix partially failed. I did away with storing the pack schemas in the context in 6f3ab17, but the gemmtrsm1m and trsm1m virtual kernels are still trying to read one of the pack schemas from the context. (I exhaustively tested gemm, but not trsm, before the commit. 😕)

I'll have to communicate the schemas to those trsm-related virtual kernels via the auxinfo_t, which helpfully already has schema fields.

I think we're good on this now. Closing.