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

[OpPerf] Implement all linalg ops #17528

Merged
merged 6 commits into from
Feb 10, 2020

Conversation

connorgoggins
Copy link
Contributor

Description

This PR serves to implement all Linear Algebra operators in OpPerf. To achieve this, I created a file (benchmark/opperf/nd_operations/linalg_operators.py) with a function (run_linalg_operators_benchmarks) to run all Linear Algebra ops. Within this function, I used calls to run_performance_test for the linalg ops with specific requirements on input data values and a call to a new function I wrote (get_all_linalg_operators) in conjunction with run_op_benchmarks for all other linalg ops. I also added a call to run_linalg_operators_benchmarks in opperf.py.

I also disabled backwards runs on ops that do not support them (linalg_gelqf, linalg_slogdet, moments).

Checklist

Essentials

Please feel free to remove inapplicable items for your PR.

  • Changes are complete (i.e. I finished coding on this PR)
  • All changes have test coverage
  • Code is well-documented
  • To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

  • A benchmark/opperf/nd_operations/linalg_operators.py
  • M benchmark/opperf/opperf.py
  • M benchmark/opperf/rules/default_params.py
  • M benchmark/opperf/utils/benchmark_utils.py
  • M benchmark/opperf/utils/op_registry_utils.py

Comments

Tested on p2.16xl w/ubuntu 16.04 and Mac OS with:

  1. Checkout branch and call function run_linalg_operators_benchmarks - runs all Linear Algebra ops on relevant data
  2. Checkout branch and run opperf.py (full run of all ops)

Performance Results

Group of operator test - all linalg ops (CPU)
Full OpPerf test (CPU)

Group of operator test - all linalg ops (GPU)
Full OpPerf test (GPU)

@apeforest @access2rohit @ChaiBapchya

@connorgoggins
Copy link
Contributor Author

@mxnet-label-bot add [pr-awaiting-review]

@lanking520 lanking520 added the pr-awaiting-review PR is waiting for code review label Feb 5, 2020
Copy link
Contributor

@access2rohit access2rohit left a comment

Choose a reason for hiding this comment

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

LGTM! Re-triggered failing tests

@access2rohit
Copy link
Contributor

@mxnet-label-bot add [pr-awaiting-merge]

@lanking520 lanking520 added the pr-awaiting-merge Review and CI is complete. Ready to Merge label Feb 10, 2020
@access2rohit
Copy link
Contributor

@apeforest can you also review ?

@apeforest apeforest merged commit e5d1574 into apache:master Feb 10, 2020
zheyuye pushed a commit to zheyuye/incubator-mxnet that referenced this pull request Feb 19, 2020
* Initial commit - implemented linalg_potrf

* Implemented standardized linalg ops, added relevant data

* Added independently_tested category

* Dropped unnecessary NDArray cast for potrf

* Removed duplicate makediag, rebased

* Updated group of custom_data ops
anirudh2290 pushed a commit to anirudh2290/mxnet that referenced this pull request May 29, 2020
* Initial commit - implemented linalg_potrf

* Implemented standardized linalg ops, added relevant data

* Added independently_tested category

* Dropped unnecessary NDArray cast for potrf

* Removed duplicate makediag, rebased

* Updated group of custom_data ops
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
pr-awaiting-merge Review and CI is complete. Ready to Merge pr-awaiting-review PR is waiting for code review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants