mars-project / mars-project/mars
Memory copy is not necessary when IndexSetValue operand is composed
- Dominant language
- Python
- Stars
- 2.7k
- Forks
- 325
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
When execute `IndexSetValue` operand, we will copy the input value from context, however, when the `IndexSetValue` is executed in a fuse operand, memory copy can be skipped because the operand in fusion won't be referred by other operands not in current fuse operand.
**Describe the solution you'd like**
We can set flag about fuse on execution thread and only do copy when `IndexSetValue` is not in a fusion.
Contributor guide
Research direction
Locate the IndexSetValue execution path and the fusion operand execution path first. Trace how the input value is copied from the context and how fusion state is represented on the execution thread. Done means copies are skipped only for IndexSetValue operands inside a fusion while remaining behavior is preserved outside fusion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100