mars-project / mars-project/mars

Numexpr's support is not complete

Open
#684 0 comments 0 reactions 0 assignees View on GitHub
mod: optimization 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 I fix #652, I find the bin-op support of numexpr is not very complete.
As the[ code](https://github.com/mars-project/mars/blob/e718779a975c4b8f2557f53f51566f908284291c/mars/tensor/fuse/ne.py#L140) of handle bin-op. It only consider some limited cases. For more cases, such as `arctan2(x1,x2)` not support. However, arctan(x1,x2) now is [supported](https://numexpr.readthedocs.io/projects/NumExpr3/en/latest/release_notes.html?highlight=Arctan2#release-notes-for-numexpr-2-6-series) from numexpr.

**Describe the solution you'd like**
Modify the handle_bin_op.
Also, we should add more support ops to be consistent with numexpr.

Contributor guide

Open the contributing guide

Research direction

Start with mars/tensor/fuse/ne.py around the handle_bin_op implementation referenced in the issue, then compare its supported cases with the linked NumExpr release notes. Identify the missing operations, including arctan2, and verify the resulting fused-expression behavior with the relevant existing tests, though no test file is named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.