[QST]how to use one threadblock process one matrix multiplication?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.5k
- Forks
- 2.1k
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 7
Description
I have a thousand of tasks in parallel, each task has two steps:
- matrix multiplication, C[i] = A[i]*B[i], the matrix sizes are non-uniform, and (m, n, k) is in range 10 ~1024.
- some operation on C[i], like scatter matrix C[i] to another matrix D[i]
I can use grouped GEMM in cutlass to do step 1 and then use a kernel to complete step 2 on all of the tasks. but it looks not efficient enough. I think it will be better if I use one thread block to do the step 1 and 2 for each task in parallel.
Here is my question: is there any similar example in cutlass? or any suggestion on this problem?
Thanks
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 by reviewing CUTLASS grouped GEMM examples and the existing kernel approach described in the issue. Compare the two-step grouped GEMM plus scatter workflow with a one-threadblock-per-task design for non-uniform matrix sizes. The issue is complete only when a supported example or a concrete, benchmarked design is identified.
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