ChaiBapchya commented on issue #17487: [OpPerf] Consolidate array manipulation
related operators
URL: https://github.com/apache/incubator-mxnet/pull/17487#issuecomment-582123433
All 4 categories
```
>>> from benchmark.opperf.nd_operations.array_manipulation_operators import
run_rearrange_operators_benchmarks, run_shape_operators_benchmarks,
run_expanding_operators_benchmarks, run_rounding_operators_benchmarks
```
Results
```
run_expanding_operators_benchmarks()
INFO:root:Begin Benchmark - broadcast_axes
INFO:root:Complete Benchmark - broadcast_axes
INFO:root:Begin Benchmark - broadcast_axis
INFO:root:Complete Benchmark - broadcast_axis
INFO:root:Begin Benchmark - broadcast_like
INFO:root:Complete Benchmark - broadcast_like
INFO:root:Begin Benchmark - broadcast_to
INFO:root:Complete Benchmark - broadcast_to
INFO:root:Begin Benchmark - expand_dims
INFO:root:Complete Benchmark - expand_dims
INFO:root:Begin Benchmark - pad
INFO:root:Complete Benchmark - pad
INFO:root:Begin Benchmark - repeat
INFO:root:Complete Benchmark - repeat
INFO:root:Begin Benchmark - tile
INFO:root:Complete Benchmark - tile
{'broadcast_axis': [{'avg_time_forward_broadcast_axis': 0.0342,
'max_storage_mem_alloc_cpu/0': 4.096, 'inputs': {'data': (1, 1024), 'axis': 0,
'size': 2}}, {'avg_time_forward_broadcast_axis': 0.0302,
'max_storage_mem_alloc_cpu/0': 0.008, 'inputs': {'data': (1, 1), 'axis': 0,
'size': 2}}, {'avg_time_forward_broadcast_axis': 0.024,
'max_storage_mem_alloc_cpu/0': 0.8, 'inputs': {'data': (1, 100), 'axis': 0,
'size': 2}}], 'broadcast_like': [{'avg_time_forward_broadcast_like': 1.5138,
'max_
storage_mem_alloc_cpu/0': 4194.3042, 'inputs': {'lhs': (1024, 1024), 'rhs':
(1024, 1024)}}, {'avg_time_forward_broadcast_like': 0.1705,
'max_storage_mem_alloc_cpu/0': 400.0, 'inputs': {'lhs': (1, 10), 'rhs':
(1, 10)}}, {'avg_time_forward_broadcast_like': 0.0446,
'max_storage_mem_alloc_cpu/0': 20.0, 'inputs': {'lhs': (1, 1), 'rhs':
(1, 1)}}], 'pad': [{'max_storage_mem_alloc_cpu/0': 0.192, 'inputs':
{'data': (1, 4, 2, 4), 'mode': 'constant', 'pad_width': (0, 0, 0, 0, 1, 1
, 1, 1)}}, {'max_storage_mem_alloc_cpu/0': 612.0, 'inputs': {'data': (10,
25, 10, 100), 'mode': 'constant', 'pad_width': (0, 0, 0, 0, 1, 1, 1, 1)}}],
'repeat': [{'avg_time_forward_repeat': 7.5347, 'avg_time_backward_repeat':
10.3592, 'max_storage_mem_alloc_cpu/0': 4194.3042, 'inputs': {'data': (1024,
1024), 'repeats': 2, 'axis': 0}}, {'avg_time_forward_repeat': 0.0664,
'avg_time_backward_repeat': 0.0716, 'max_storage_mem_alloc_cpu/0': 40.0,
'inputs': {'data': (1, 1), 'repeats': 2,
'axis': 0}}, {'avg_time_forward_repeat': 6.0047, 'avg_time_backward_repeat':
8.3208, 'max_storage_mem_alloc_cpu/0': 4000.0, 'inputs': {'data': (1, 100),
'repeats': 2, 'axis': 0}}], 'tile': [{'avg_time_backward_tile': 7.2161,
'max_storage_mem_alloc_cpu/0': 4194.3042, 'avg_time_forward_tile': 5.2652,
'inputs': {'data': (1024, 1024), 'reps': 2}}, {'avg_time_backward_tile':
0.0631, 'max_storage_mem_alloc_cpu/0': 40.0, 'avg_time_forward_tile': 0.1274,
'inputs': {'data': (1, 1), 'rep
s': 2}}, {'avg_time_backward_tile': 6.7835, 'max_storage_mem_alloc_cpu/0':
4000.0, 'avg_time_forward_tile': 4.8181, 'inputs': {'data': (1, 100),
'reps': 2}}], 'broadcast_to': [{'max_storage_mem_alloc_cpu/0': 2097.1521,
'avg_time_forward_broadcast_to': 1.4573, 'inputs': {'data': (1, 1024), 'shape':
(1024, 1024)}}, {'max_storage_mem_alloc_cpu/0': 40.0,
'avg_time_forward_broadcast_to': 0.0741, 'inputs': {'data': (1, 1), 'shape':
(1, 1)}}, {'max_storage_mem_alloc_cpu/0': 2000.0, 'a
vg_time_forward_broadcast_to': 1.5039, 'inputs': {'data': (1, 100), 'shape':
(1, 100)}}], 'expand_dims': [{'avg_time_forward_expand_dims': 0.15,
'max_storage_mem_alloc_cpu/0': 2097.1521, 'inputs': {'data': (1024, 1024),
'axis': 0}}, {'avg_time_forward_expand_dims': 0.029,
'max_storage_mem_alloc_cpu/0': 20.0, 'inputs': {'data': (1, 1), 'axis':
0}}, {'avg_time_forward_expand_dims': 0.0524, 'max_storage_mem_alloc_cpu/0':
2000.0, 'inputs': {'data': (1, 100), 'axis': 0}}], 'broa
dcast_axes': [{'avg_time_forward_broadcast_axes': 0.0416,
'max_storage_mem_alloc_cpu/0': 4.096, 'inputs': {'data': (1, 1024), 'axis': 0,
'size': 2}}, {'avg_time_forward_broadcast_axes': 0.0341,
'max_storage_mem_alloc_cpu/0': 0.004, 'inputs': {'data': (1, 1), 'axis': 0,
'size': 2}}, {'avg_time_forward_broadcast_axes': 0.0354,
'max_storage_mem_alloc_cpu/0': 0.4, 'inputs': {'data': (1, 100), 'axis': 0,
'size': 2}}]}
```
```
run_rearrange_operators_benchmarks()
INFO:root:Begin Benchmark - SwapAxis
INFO:root:Complete Benchmark - SwapAxis
INFO:root:Begin Benchmark - depth_to_space
INFO:root:Complete Benchmark - depth_to_space
INFO:root:Begin Benchmark - flip
INFO:root:Complete Benchmark - flip
INFO:root:Begin Benchmark - reverse
INFO:root:Complete Benchmark -