Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Support boolean elemwise/broadcast binary add, multiply and true_divide #16728

Merged
merged 3 commits into from
Nov 11, 2019

Conversation

haojin2
Copy link
Contributor

@haojin2 haojin2 commented Nov 5, 2019

Description

Support operations between 2 boolean-typed tensors, currently add, multiply and true_divide are supported and tested.
Has quite a few conflict with #16699, suggesting merging #16699 before merging this one.

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage:
  • Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
  • Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
  • Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
  • Code is well-documented:
  • For user-facing API changes, API doc string has been updated.
  • For new C++ functions in header files, their functionalities and arguments are documented.
  • For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
  • Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
  • To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

  • boolean elemwise/broadcast binary add, multiply
  • unit test for add, multiply and true_divide

Comments

To support the tuning for bool type, operator_tune's data_set_ buffer is changed to be malloc'd instead of using std::vector due to stl's special implementation.
@cjolivier01 FYI

@haojin2 haojin2 added the Numpy label Nov 5, 2019
@haojin2 haojin2 self-assigned this Nov 5, 2019
Copy link
Contributor

@reminisce reminisce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@haojin2 haojin2 force-pushed the bool_binary_ops branch 2 times, most recently from 4c0464d to f254deb Compare November 8, 2019 21:33
@haojin2 haojin2 changed the title [DO NOT MERGE YET] Support boolean elemwise/broadcast binary add, multiply and true_divide Support boolean elemwise/broadcast binary add, multiply and true_divide Nov 8, 2019
@haojin2 haojin2 force-pushed the bool_binary_ops branch 3 times, most recently from 2e76582 to c12dd57 Compare November 10, 2019 05:50
@reminisce reminisce merged commit 177fd3e into apache:master Nov 11, 2019
@haojin2 haojin2 added the R1.6.0 label Nov 11, 2019
@haojin2
Copy link
Contributor Author

haojin2 commented Nov 11, 2019

@ptrendx This is needed for 1.6.0 for d2l book english version.

ptrendx pushed a commit to ptrendx/mxnet that referenced this pull request Nov 15, 2019
…de (apache#16728)

* support pure boolean elemwise/broadcast binary op

* switch to unique_tpr

* fix the test error
ptrendx added a commit that referenced this pull request Nov 16, 2019
…, #16792) (#16832)

* Fix nightly build (#16773)

* Remove dependency on tvmop.conf

* Fix binaries dependencies for ni nightly

* Add comments

* Update tvmop.py

* Fix rebase

* Fix (#16781)

* Speed fused_op compilation by caching ptx and jit-compiled functions (#16783)

* [Numpy] Fix collect_params().zero_grad() in gluon numpy interface (#16716)

* fix zero_grad

* Update parameter.py

* add test

* fix

* Mixed data type binary ops (#16699)

* support mixed-precision binary operations

* improvement for documentations and error messages

* Support boolean elemwise/broadcast binary add, multiply and true_divide (#16728)

* support pure boolean elemwise/broadcast binary op

* switch to unique_tpr

* fix the test error

* Fix rtrue_divide grad (#16769)

* Fix rtrue_divide_scalar

* More tests

* Fix numpy-compatible mean output type for integer inputs (#16792)

* fix mean output type for integer inputs

* enable for windows
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants