[QST] GEMM Epilogue Fusion: Element-wise Ops and Two-Tensor Element-wise Multiplication
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 2.1k
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 7
Description
What is your question?
Hi, I'd like to compute the following
D = f( matmul(A, B) ) * C
where f is an element-wise activation function, and C is a tensor of the same shape as the output D. In CUTLASS, it seems like only per-dimension scaling is supported in epilogue fusion, but not element-wise scaling between two tensors. In light of this, is such fusion profitable? If so, what are the best ways to implement this?
Thanks in advance for your time!
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with include/cutlass/epilogue/thread/scale_type.h, which the issue identifies as the current scaling reference. Investigate how the epilogue handles the activation f and the additional tensor C in D = f(matmul(A, B)) * C, then determine whether this fusion is supported and profitable. Done means a maintainer-confirmed implementation path or a clear explanation of the supported alternative.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100