MIOpen icon indicating copy to clipboard operation
MIOpen copied to clipboard

Implement Amax & Amin backward

Open hieule88 opened this issue 10 months ago • 0 comments

  • 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

hieule88 avatar Feb 19 '25 07:02 hieule88