MIOpen
MIOpen copied to clipboard
Implement Amax & Amin backward
-
Added Amax & Amin backward because only backward has better performance over Rocm.
-
Added driver test and gtest for Amax & Amin.
-
New API is guarded by MIOPEN_BETA_API macro.
-
Average over all cases:
-
Amax & Amin
| Type | Amin | Amax |
|---|---|---|
| float16 | 4.50 | 4.29 |
| float32 | 4.74 | 4.71 |
| bfloat16 | 4.27 | 4.30 |
Amin - FP16
| op_name | dtype | size | dim | contiguous | direction | Rocm kernel avg | MIOpen kernel avg | ROCm / MIOpen |
|---|---|---|---|---|---|---|---|---|
Amin | float16 | [8725 4] | [0 1] | noncontiguous | bwd | 44560 | 9333 | 4.774456231
Amin | float16 | [8725 4] | [-1] | contiguous | bwd | 44384 | 9795 | 4.531291475
Amin | float16 | [8725 4] | [-1] | noncontiguous | bwd | 43904 | 9653 | 4.54822335
Amin | float16 | [8606 4] | [0 1] | contiguous | bwd | 39008 | 9564 | 4.078628189
Amin | float16 | [8606 4] | [0 1] | noncontiguous | bwd | 41776 | 10240 | 4.0796875
Amin | float16 | [8606 4] | [-1] | contiguous | bwd | 43631 | 9973 | 4.374912263
Amin | float16 | [8606 4] | [-1] | noncontiguous | bwd | 43599 | 10044 | 4.340800478
Amin | float16 | [8711 4] | [0 1] | contiguous | bwd | 41423 | 10133 | 4.087930524
Amin | float16 | [8711 4] | [0 1] | noncontiguous | bwd | 43839 | 9973 | 4.395768575
Amin | float16 | [8711 4] | [-1] | contiguous | bwd | 43968 | 9972 | 4.409145608
Amin | float16 | [8711 4] | [-1] | noncontiguous | bwd | 43744 | 11253 | 3.887318937
Amin | float16 | [8717 4] | [0 1] | contiguous | bwd | 41312 | 10702 | 3.860213044
Amin | float16 | [8717 4] | [0 1] | noncontiguous | bwd | 44447 | 10844 | 4.098764294
Amin | float16 | [8717 4] | [-1] | contiguous | bwd | 44351 | 9333 | 4.752062574
Amin | float16 | [8717 4] | [-1] | noncontiguous | bwd | 43408 | 10026 | 4.329543188
Amin | float16 | [512 64 112 112] | [0 1] | contiguous | bwd | 12915789 | 9996210 | 1.292068594
Amin | float16 | [512 64 112 112] | [-1] | contiguous | bwd | 27339096 | 10009500 | 2.731314851
Amin | float16 | [512 64 56 56] | [0 1] | contiguous | bwd | 3366682 | 2496150 | 1.348749875
Amin | float16 | [512 64 56 56] | [-1] | contiguous | bwd | 7643320 | 2495940 | 3.062301177
Amin - FP32
| op_name | dtype | size | dim | contiguous | direction | Rocm kernel avg | MIOpen kernel avg | ROCm / MIOpen |
|---|---|---|---|---|---|---|---|---|
Amin | float32 | [8725 4] | [-1] | contiguous | bwd | 41872 | 8373 | 5.000836021
Amin | float32 | [8725 4] | [-1] | noncontiguous | bwd | 42272 | 8177 | 5.169622111
Amin | float32 | [8606 4] | [0 1] | contiguous | bwd | 37600 | 8071 | 4.658654442
Amin | float32 | [8606 4] | [0 1] | noncontiguous | bwd | 40736 | 8142 | 5.003193319
Amin | float32 | [8606 4] | [-1] | contiguous | bwd | 42592 | 8070 | 5.277819083
Amin | float32 | [8606 4] | [-1] | noncontiguous | bwd | 42464 | 8248 | 5.148399612
Amin | float32 | [8711 4] | [0 1] | contiguous | bwd | 39472 | 8302 | 4.754516984
Amin | float32 | [8711 4] | [0 1] | noncontiguous | bwd | 43135 | 8319 | 5.185118404
Amin | float32 | [8711 4] | [-1] | contiguous | bwd | 42592 | 8302 | 5.130330041
Amin | float32 | [8711 4] | [-1] | noncontiguous | bwd | 42752 | 8195 | 5.216839536
Amin | float32 | [8717 4] | [0 1] | contiguous | bwd | 39760 | 8071 | 4.926279271
Amin | float32 | [8717 4] | [0 1] | noncontiguous | bwd | 43503 | 8195 | 5.308480781
Amin | float32 | [8717 4] | [-1] | contiguous | bwd | 42784 | 8195 | 5.220744356
Amin | float32 | [8717 4] | [-1] | noncontiguous | bwd | 42320 | 8408 | 5.033301618
Amin | float32 | [512 64 112 112] | [0 1] | contiguous | bwd | 13731284 | 9962260 | 1.378330218
Amin | float32 | [512 64 112 112] | [-1] | contiguous | bwd | 28175615 | 9975340 | 2.824526783
Amin | float32 | [512 64 56 56] | [0 1] | contiguous | bwd | 3569447 | 2491430 | 1.432690062
Amin | float32 | [512 64 56 56] | [-1] | contiguous | bwd | 7869638 | 2490720 | 3.159583574
Amin | float32 | [512 128 56 56] | [0 1] | contiguous | bwd | 6918513 | 4984810 | 1.387919098
Amin - BFP16
| op_name | dtype | size | dim | contiguous | direction | Rocm kernel avg | MIOpen kernel avg | ROCm / MIOpen |
|---|---|---|---|---|---|---|---|---|
Amin | bfloat16 | [8725 4] | [-1] | contiguous | bwd | 45328 | 9422 | 4.810868181
Amin | bfloat16 | [8725 4] | [-1] | noncontiguous | bwd | 45263 | 9617 | 4.706561298
Amin | bfloat16 | [8606 4] | [0 1] | contiguous | bwd | 39711 | 8942 | 4.440952807
Amin | bfloat16 | [8606 4] | [0 1] | noncontiguous | bwd | 42624 | 9617 | 4.432151399
Amin | bfloat16 | [8606 4] | [-1] | contiguous | bwd | 45727 | 9279 | 4.928009484
Amin | bfloat16 | [8606 4] | [-1] | noncontiguous | bwd | 46080 | 9475 | 4.863324538
Amin | bfloat16 | [8711 4] | [0 1] | contiguous | bwd | 43919 | 9422 | 4.66132456
Amin | bfloat16 | [8711 4] | [0 1] | noncontiguous | bwd | 46736 | 9742 | 4.797372203
Amin | bfloat16 | [8711 4] | [-1] | contiguous | bwd | 45791 | 9404 | 4.869310932
Amin | bfloat16 | [8711 4] | [-1] | noncontiguous | bwd | 45552 | 9706 | 4.693179477
Amin | bfloat16 | [8717 4] | [0 1] | contiguous | bwd | 43696 | 9866 | 4.428947902
Amin | bfloat16 | [8717 4] | [0 1] | noncontiguous | bwd | 46928 | 9617 | 4.879692212
Amin | bfloat16 | [8717 4] | [-1] | contiguous | bwd | 45536 | 9297 | 4.897924062
Amin | bfloat16 | [8717 4] | [-1] | noncontiguous | bwd | 45168 | 9653 | 4.679167098
Amin | bfloat16 | [512 64 112 112] | [0 1] | contiguous | bwd | 13191785 | 10927000 | 1.207265032
Amin | bfloat16 | [512 64 112 112] | [-1] | contiguous | bwd | 27635062 | 10945700 | 2.524741405
Amin | bfloat16 | [512 64 56 56] | [0 1] | contiguous | bwd | 3449337 | 2728870 | 1.264016608
Amin | bfloat16 | [512 64 56 56] | [-1] | contiguous | bwd | 7699496 | 2732260 | 2.817995359
Amax - FP16
| op_name | dtype | size | dim | contiguous | direction | Rocm kernel avg | MIOpen kernel avg | ROCm / MIOpen |
|---|---|---|---|---|---|---|---|---|
Amax | float16 | [8606 4] | [-1] | contiguous | bwd | 43824 | 9973 | 4.394264514
Amax | float16 | [8606 4] | [-1] | noncontiguous | bwd | 52223 | 10044 | 5.199422541
Amax | float16 | [8711 4] | [0 1] | contiguous | bwd | 46784 | 10133 | 4.61699398
Amax | float16 | [8711 4] | [0 1] | noncontiguous | bwd | 47439 | 9973 | 4.756743207
Amax | float16 | [8711 4] | [-1] | contiguous | bwd | 45168 | 9972 | 4.529482551
Amax | float16 | [8711 4] | [-1] | noncontiguous | bwd | 44511 | 11253 | 3.955478539
Amax | float16 | [8717 4] | [0 1] | contiguous | bwd | 41712 | 10702 | 3.897589236
Amax | float16 | [8717 4] | [0 1] | noncontiguous | bwd | 45647 | 10844 | 4.209424567
Amax | float16 | [8717 4] | [-1] | contiguous | bwd | 44064 | 9333 | 4.721311475
Amax | float16 | [8717 4] | [-1] | noncontiguous | bwd | 44640 | 10026 | 4.452423698
Amax | float16 | [512 64 112 112] | [0 1] | contiguous | bwd | 12898448 | 9996210 | 1.290333837
Amax | float16 | [512 64 112 112] | [-1] | contiguous | bwd | 27327918 | 10009500 | 2.730198112
Amax | float16 | [512 64 56 56] | [0 1] | contiguous | bwd | 3359882 | 2496150 | 1.34602568
Amax | float16 | [512 64 56 56] | [-1] | contiguous | bwd | 7648458 | 2495940 | 3.06435972
Amax - FP32
| op_name | dtype | size | dim | contiguous | direction | Rocm kernel avg | MIOpen kernel avg | ROCm / MIOpen |
|---|---|---|---|---|---|---|---|---|
Amax | float32 | [8606 4] | [0 1] | noncontiguous | bwd | 40559 | 8142 | 4.981454188
Amax | float32 | [8606 4] | [-1] | contiguous | bwd | 42576 | 8070 | 5.275836431
Amax | float32 | [8606 4] | [-1] | noncontiguous | bwd | 42480 | 8248 | 5.150339476
Amax | float32 | [8711 4] | [0 1] | contiguous | bwd | 39360 | 8302 | 4.741026259
Amax | float32 | [8711 4] | [0 1] | noncontiguous | bwd | 43264 | 8319 | 5.200625075
Amax | float32 | [8711 4] | [-1] | contiguous | bwd | 42255 | 8302 | 5.089737413
Amax | float32 | [8711 4] | [-1] | noncontiguous | bwd | 42608 | 8195 | 5.199267846
Amax | float32 | [8717 4] | [0 1] | contiguous | bwd | 40016 | 8071 | 4.95799777
Amax | float32 | [8717 4] | [0 1] | noncontiguous | bwd | 42912 | 8195 | 5.236363636
Amax | float32 | [8717 4] | [-1] | contiguous | bwd | 42336 | 8195 | 5.166076876
Amax | float32 | [8717 4] | [-1] | noncontiguous | bwd | 42032 | 8408 | 4.999048525
Amax | float32 | [512 64 112 112] | [0 1] | contiguous | bwd | 13748371 | 9962260 | 1.380045391
Amax | float32 | [512 64 112 112] | [-1] | contiguous | bwd | 28201405 | 9975340 | 2.827112159
Amax | float32 | [512 64 56 56] | [0 1] | contiguous | bwd | 3570087 | 2491430 | 1.432946942
Amax | float32 | [512 64 56 56] | [-1] | contiguous | bwd | 7829686 | 2490720 | 3.143543232