mars-project / mars-project/mars

Memory copy is not necessary when IndexSetValue operand is composed

Open
#77 1 comment 0 reactions 0 assignees View on GitHub
mod: tensor type: enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.