fflas-ffpack icon indicating copy to clipboard operation
fflas-ffpack copied to clipboard

Allow Strassen-Winograd' matrix mult. to work over generic fields

Open ClementPernet opened this issue 1 year ago • 0 comments

Although the architecture of fgemm is written with genericity in mind (wrt the base field), the management of delayed bounds in Strassen-Winograd's algorithm was somehow hardcoded there, which made this code unusable for any base field that does not complied with the Delayed or Lazy categories (delaying modular reductions).

This PR fixes this issue by

  • encapsulating some treatment on the bounds in template functions which are empty for the generic cases
  • duplicating (template specialization) 2 functions only: the Strassen-Winograd schedule, where the manipulation on the bounds was too complex to be abstracted into functions.

With this branch applied, no performance regression were noted and test-fgemm now support ModularExtended which is not a DelayedTag category.

ClementPernet avatar Jun 28 '23 08:06 ClementPernet