AMDMIGraphX icon indicating copy to clipboard operation
AMDMIGraphX copied to clipboard

Add support for the Einsum operator

Open mirza-halilcevic opened this issue 1 year ago • 3 comments

  • Implement ONNX parsing support for the Einsum operator
  • Resolves https://github.com/migraphx-benchmark/AMDMIGraphX/issues/92

mirza-halilcevic avatar Feb 14 '24 13:02 mirza-halilcevic

Test Batch Rate new
7140ae
Rate old
dc028d
Diff Compare
torchvision-resnet50 64 1,713.92 1,489.70 15.05% :high_brightness:
torchvision-resnet50_fp16 64 3,810.84 1,346.10 183.10% :high_brightness:
torchvision-densenet121 32 1,453.97 1,440.50 0.94% :white_check_mark:
torchvision-densenet121_fp16 32 2,435.42 2,416.72 0.77% :white_check_mark:
torchvision-inceptionv3 32 883.32 881.27 0.23% :white_check_mark:
torchvision-inceptionv3_fp16 32 1,412.36 1,406.66 0.41% :white_check_mark:
cadene-inceptionv4 16 407.47 404.25 0.80% :white_check_mark:
cadene-resnext64x4 16 413.99 410.23 0.92% :white_check_mark:
slim-mobilenet 64 3,823.89 3,794.28 0.78% :white_check_mark:
slim-nasnetalarge 64 97.06 94.95 2.22% :white_check_mark:
slim-resnet50v2 64 1,652.06 1,620.87 1.92% :white_check_mark:
bert-mrpc-onnx 8 589.65 591.10 -0.25% :white_check_mark:
bert-mrpc-tf 1 289.94 289.30 0.22% :white_check_mark:
pytorch-examples-wlang-gru 1 333.82 378.53 -11.81% :red_circle:
pytorch-examples-wlang-lstm 1 303.50 266.28 13.98% :high_brightness:
torchvision-resnet50_1 1 453.79 369.37 22.86% :high_brightness:
cadene-dpn92_1 1 245.35 233.66 5.00% :high_brightness:
cadene-resnext101_1 1 189.30 189.16 0.07% :white_check_mark:
onnx-taau-downsample 1 204.05 183.13 11.43% :high_brightness:
dlrm-criteoterabyte 1 22.29 21.99 1.38% :white_check_mark:
dlrm-criteoterabyte_fp16 1 41.63 41.43 0.47% :white_check_mark:
agentmodel 1 6,211.60 6,337.70 -1.99% :white_check_mark:
unet_fp16 2 33.74 33.63 0.33% :white_check_mark:
resnet50v1_fp16 1 557.63 521.53 6.92% :high_brightness:
resnet50v1_int8 1 463.51 452.53 2.43% :white_check_mark:
bert_base_cased_fp16 64 620.97 620.67 0.05% :white_check_mark:
bert_large_uncased_fp16 32 193.84 193.85 -0.01% :white_check_mark:
bert_large_fp16 1 103.92 103.88 0.04% :white_check_mark:
distilgpt2_fp16 16 1,187.47 1,187.83 -0.03% :white_check_mark:
yolov5s 1 298.21 297.39 0.27% :white_check_mark:
tinyllama 1 23.34 23.34 0.02% :white_check_mark:
vicuna-fastchat 1 132.42 132.19 0.17% :white_check_mark:
whisper-tiny-encoder 1 240.97 240.52 0.19% :white_check_mark:
whisper-tiny-decoder 1 245.84 245.42 0.17% :white_check_mark:

This build is not recommended to merge :red_circle:

migraphx-bot avatar Feb 14 '24 15:02 migraphx-bot


     :white_check_mark: bert-mrpc-onnx: PASSED: MIGraphX meets tolerance
     :white_check_mark: bert-mrpc-tf: PASSED: MIGraphX meets tolerance
     :white_check_mark: pytorch-examples-wlang-gru: PASSED: MIGraphX meets tolerance
     :white_check_mark: pytorch-examples-wlang-lstm: PASSED: MIGraphX meets tolerance
     :white_check_mark: torchvision-resnet50_1: PASSED: MIGraphX meets tolerance
     :white_check_mark: cadene-dpn92_1: PASSED: MIGraphX meets tolerance
     :white_check_mark: cadene-resnext101_1: PASSED: MIGraphX meets tolerance
     :white_check_mark: dlrm-criteoterabyte: PASSED: MIGraphX meets tolerance
     :white_check_mark: agentmodel: PASSED: MIGraphX meets tolerance
     :white_check_mark: unet: PASSED: MIGraphX meets tolerance
     :white_check_mark: resnet50v1: PASSED: MIGraphX meets tolerance
     :white_check_mark: bert_base_cased_fp16: PASSED: MIGraphX meets tolerance
:red_circle:bert_large_uncased_fp16: FAILED: MIGraphX is not within tolerance - check verbose output

     :white_check_mark: bert_large: PASSED: MIGraphX meets tolerance
     :white_check_mark: yolov5s: PASSED: MIGraphX meets tolerance
     :white_check_mark: tinyllama: PASSED: MIGraphX meets tolerance
     :white_check_mark: vicuna-fastchat: PASSED: MIGraphX meets tolerance
     :white_check_mark: whisper-tiny-encoder: PASSED: MIGraphX meets tolerance
     :white_check_mark: whisper-tiny-decoder: PASSED: MIGraphX meets tolerance
     :white_check_mark: distilgpt2_fp16: PASSED: MIGraphX meets tolerance

migraphx-bot avatar Feb 14 '24 15:02 migraphx-bot

Codecov Report

Attention: Patch coverage is 98.66667% with 4 lines in your changes missing coverage. Please review.

Project coverage is 91.92%. Comparing base (dc028dd) to head (7140ae2). Report is 148 commits behind head on develop.

Files Patch % Lines
src/onnx/parse_einsum.cpp 98.91% 3 Missing :warning:
src/lexing.cpp 93.75% 1 Missing :warning:
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2772      +/-   ##
===========================================
+ Coverage    91.82%   91.92%   +0.10%     
===========================================
  Files          486      489       +3     
  Lines        18993    19275     +282     
===========================================
+ Hits         17440    17719     +279     
- Misses        1553     1556       +3     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 07 '24 10:03 codecov[bot]

Windows CI is failing. Seems like... src\onnx\parse_einsum.cpp:516:21: error: use of undeclared identifier 'ssize_t'

causten avatar May 15 '24 15:05 causten

Windows CI is failing. Seems like... src\onnx\parse_einsum.cpp:516:21: error: use of undeclared identifier 'ssize_t'

I replaced ssize_t with int64_t. Seems like it's still failing for some other reason. I don't have access to the logs though.

mirza-halilcevic avatar May 16 '24 13:05 mirza-halilcevic

I see the extended Jenkins tests run but they are not reflecting on this PR list. They all passed so I'm merging

causten avatar May 29 '24 17:05 causten