-
Notifications
You must be signed in to change notification settings - Fork 6.8k
[OpPerf] Add norm, cast ops, remaining optimizer ops #17542
Conversation
Category specific operators gist : https://gist.github.com/ChaiBapchya/b4b49632d845abd9a451ab37809c575b Basically result of running
|
|
b262d99
to
0ec2d97
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great implementation! Just one small edit.
Also can we see updated perf results? |
Previously entire NDArray that was input used to get printed CPU : https://gist.github.com/ChaiBapchya/12d7fdd4ac15703e537aefbc8055c981 |
@mxnet-label-bot add [pr-awaiting-review] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job!
Updated OpPerf results after dtype fix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work!
* add mp_nag_mom, nag_mom, lamb_update_phase_1&2 op * add norm to reduction op * add preloaded_*, multi_* optimizer ops * add cast ops to unary op opperf * change API to handle args in profiler_util instead of benchmark_util * clean up positional args * fix amp_cast,cast and lamb_update_* issue * fix markdown readability issue * add 3 types of dtype vars as inputs for 3 diff category of ops
* add mp_nag_mom, nag_mom, lamb_update_phase_1&2 op * add norm to reduction op * add preloaded_*, multi_* optimizer ops * add cast ops to unary op opperf * change API to handle args in profiler_util instead of benchmark_util * clean up positional args * fix amp_cast,cast and lamb_update_* issue * fix markdown readability issue * add 3 types of dtype vars as inputs for 3 diff category of ops
Description
Adds following ops to OpPerf [once all the OpPerf PRs get merged, all MXNet ops in NDArray namespace will be completed in OpPerf coverage (minus deprecated, _contrib ops and few other ops with known issues)]
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.
Comments
Ops falling in the category of multi_* and preloaded_multi_* were notorious
They don't have standard keyworded arguments (data=data)
They expect variable positional args (*data)
It was previously handled such that only 1 value of variable positional arg could be passed
Now, you can pass as many values for positional args as you want.
However for running run_performance_test, inputs have to be key:value pair
That is handled as args0, args1, arg2, etc
So as long as the name of the key starts with args it will be considered as input for the operator.
This is a very rare case that the operator doesn't take keyworded args. Most other ops in MXNet NDArray namespace take keyworded args.