intel / intel/mlir-extensions

[ptensor] add missing elementwise binary operations

Open
#316 0 comments 0 reactions 1 assignee Claimed by @diptorupd View on GitHub
good first issue
Dominant language
MLIR
Stars
156
Forks
45
Avg merge
4h 14m
Merged PRs (30d)
22

Description

The following elementwise binary operations need an implementation in PTensorToLinalg(.cpp) (see [array-API spec](https://data-apis.org/array-api/latest/API_specification/elementwise_functions.html) for the expected behavior of the operations):
* [ ] ptensor::ATAN2
* [ ] ptensor::LOGADDEXP
* [ ] ptensor::LSHIFT
* [ ] ptensor::MATMUL
* [ ] ptensor::TRUE_DIVIDE
* [ ] ptensor::BITWISE_AND
* [ ] ptensor::BITWISE_LEFT_SHIFT
* [ ] ptensor::BITWISE_OR
* [ ] ptensor::BITWISE_RIGHT_SHIFT
* [ ] ptensor::BITWISE_XOR
* [ ] ptensor::EQUAL
* [ ] ptensor::GREATER
* [ ] ptensor::GREATER_EQUAL
* [ ] ptensor::LESS
* [ ] ptensor::LESS_EQUAL
* [ ] ptensor::LOGICAL_AND
* [ ] ptensor::LOGICAL_OR
* [ ] ptensor::LOGICAL_XOR
* [ ] ptensor::NOT_EQUAL

See also [Operation Details->Elementwise Operations in the RFC](https://github.com/intel/mlir-extensions/tree/refactor/docs/rfcs/20220804-ptensor#operation-details).

Reference implementations can be found in the TOSA dialect and/or on main (numba_dpcomp/numba_dpcomp/mlir/numpy/funcs.py [Python]).

It is ok to let initial implementations operate on default PTensorTypes only, e.g. ignore device and distribution attributes of input tensors.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.