Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

ClementPernet
Copy link
Member

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant