Scatter elements simplification
Open
@shivadbhavsar is already working on this.
Since Jul 25, 2024.
Perf Improve
- Dominant language
- C++
- Stars
- 333
- Forks
- 150
- Avg merge
- 4d 19h
- Merged PRs (30d)
- 54
Description
Example series of instructions found in Longformer:
@145 = hip::copy(@121,@144) -> half_type, {4, 4, 256, 513}, {525312, 131328, 513, 1}: 0.0193204ms, 1%
@146 = load[offset=8404992,end=12607488](@1) -> half_type, {4, 4, 256, 513}, {525312, 131328, 513, 1}: 0.00071044ms, 1%
@147 = hip::copy(@121,@146) -> half_type, {4, 4, 256, 513}, {525312, 131328, 513, 1}: 0.0183114ms, 1%
....
@151 = gpu::code_object[code_object=5072,symbol_name=scatter_elements_kernel,global=622592,local=1024,](@143,@150,@147) -> half_type, {4, 4, 256, 513}, {525312, 131328, 513, 1}: 0.0539156ms, 1%
@152 = gpu::code_object[code_object=5072,symbol_name=scatter_elements_kernel,global=622592,local=1024,](@55,@151,@145) -> half_type, {4, 4, 256, 513}, {525312, 131328, 513, 1}: 0.054144ms, 1%
In cases where scatter axis is the same, we might be able to simplify this to a single scatter op
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.
Assessment
This issue has not been assessed yet.