Skip to content

Add documentation for plugins#820

Merged
devinamatthews merged 4 commits intomasterfrom
plugin-doc
Jan 14, 2025
Merged

Add documentation for plugins#820
devinamatthews merged 4 commits intomasterfrom
plugin-doc

Conversation

@devinamatthews
Copy link
Copy Markdown
Member

No description provided.

@devinamatthews devinamatthews marked this pull request as ready for review September 20, 2024 16:17
@devinamatthews devinamatthews merged commit 5cb70d8 into master Jan 14, 2025
@devinamatthews devinamatthews deleted the plugin-doc branch January 14, 2025 23:16
devinamatthews added a commit that referenced this pull request Jan 15, 2025
Add documentation for the plugin system and for modifying the control tree to make custom operations.

Details:
- `docs/PluginHowTo.md` describes in a "tutorial style" how to implement a custom BLAS-like operation by creating a plugin and then modifying the `gemm` control tree to achieve the desired effect.
- Briefly, plugins allow users to add new kernels and associated block sizes/preferences to BLIS without modifying the BLIS source code. User-provided kernels are compiled using the BLIS build system for configured architectures and selected at runtime based on the actual hardware.
- To implement custom operations, users can combine their own kernels (and/or existing BLIS kernels) with a customized control tree, which represents the specific algorithmic steps. Users can customize the kernels to be used for packing and for computation, extra information passed to kernels (e.g. additional parameters or data), block sizes, etc. An API is provided for modifying the default `gemm` control tree (also used for other level-3 operations, except `trsm`).
- [cherry-picked from 5cb70d8]
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.

2 participants