Skip to content

try to use new buffer deallocation #2919

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Sep 11, 2024
Merged

Conversation

chentong319
Copy link
Collaborator

onnx-mlir is using the old buffer deallocation by default (option --use-old-bufferization). If that option is set to false, there is some compilation error. This PR is trying to fix this issue.

  1. register the bufferizaton interface for the dialects that may be used. For NNPA, dialects, memref and arith may be used.
  2. After that change, there is an error for memref.prefetch. Its memory side effect is not defined. Need further investigation with MLIR community. Current workaround is to add a flag, disable-memref-prefetch, in builder to generate nothing for prefetch.

With these changes, roberta model can be compiled with the new deallocation with command:

Debug/bin/onnx-mlir --O3 --EmitLib --mtriple=s390x-ibm-loz --mcpu=z16 --maccel=NNPA --disable-memref-prefetch=true   --use-old-bufferization=false roberta-base-11.onnx

Here is the execution time of for this model:
without deallocation: 10.6
old deallocation: 4.6
new deallocation: 4.8

Signed-off-by: Chen Tong <[email protected]>
@chentong319
Copy link
Collaborator Author

@jenkins-droid test

Copy link
Collaborator

@AlexandreEichenberger AlexandreEichenberger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, looking forward to see if the new scheme can eventually deliver better performance.

@chentong319 chentong319 merged commit 02f45b0 into onnx:main Sep 11, 2024
7 checks passed
@chentong319 chentong319 deleted the new-deallocation branch September 11, 2024 13:18
@jenkins-droid
Copy link
Collaborator

Jenkins Linux s390x Build #15586 [push] try to use new buffer de... started at 09:19

@jenkins-droid
Copy link
Collaborator

Jenkins Linux amd64 Build #15583 [push] try to use new buffer de... started at 08:19

@jenkins-droid
Copy link
Collaborator

Jenkins Linux ppc64le Build #14613 [push] try to use new buffer de... started at 09:30

@jenkins-droid
Copy link
Collaborator

Jenkins Linux amd64 Build #15583 [push] try to use new buffer de... passed after 1 hr 6 min

@jenkins-droid
Copy link
Collaborator

Jenkins Linux s390x Build #15586 [push] try to use new buffer de... passed after 1 hr 29 min

@jenkins-droid
Copy link
Collaborator

Jenkins Linux ppc64le Build #14613 [push] try to use new buffer de... passed after 2 hr 2 min

Sunny-Anand pushed a commit to Sunny-Anand/onnx-mlir that referenced this pull request Sep 17, 2024
* implementation

Signed-off-by: Chen Tong <[email protected]>

* comments

Signed-off-by: Chen Tong <[email protected]>

* format

Signed-off-by: Chen Tong <[email protected]>

---------

Signed-off-by: Chen Tong <[email protected]>
Co-authored-by: Tung D. Le <[email protected]>
Co-authored-by: Alexandre Eichenberger <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>
Sunny-Anand added a commit that referenced this pull request Sep 17, 2024
* Change lowering of onnx.IF to Krnl (#2932)

* implementation

Signed-off-by: chentong319 <[email protected]>

* test case change

Signed-off-by: chentong319 <[email protected]>

* format

Signed-off-by: chentong319 <[email protected]>

* add test for If back

Signed-off-by: chentong319 <[email protected]>

* format

Signed-off-by: chentong319 <[email protected]>

---------

Signed-off-by: chentong319 <[email protected]>
Co-authored-by: Tung D. Le <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* Update c style cast to c++ style cast (#2934)

Signed-off-by: Mike Essenmacher <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* Change c style cast to c++ style cast (#2936)

Signed-off-by: Mike Essenmacher <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* Add coding practices for onnx-mlir (#2935)

Signed-off-by: Mike Essenmacher <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* try to use new buffer deallocation (#2919)

* implementation

Signed-off-by: Chen Tong <[email protected]>

* comments

Signed-off-by: Chen Tong <[email protected]>

* format

Signed-off-by: Chen Tong <[email protected]>

---------

Signed-off-by: Chen Tong <[email protected]>
Co-authored-by: Tung D. Le <[email protected]>
Co-authored-by: Alexandre Eichenberger <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* fix requirements.txt link

Signed-off-by: Sunny-Anand <[email protected]>

* Reuse input buffer in lowering to krnl (#2939)

* first step

Signed-off-by: chentong319 <[email protected]>

* cpu

Signed-off-by: chentong319 <[email protected]>

* options

Signed-off-by: chentong319 <[email protected]>

* unify

Signed-off-by: chentong319 <[email protected]>

* simd

Signed-off-by: chentong319 <[email protected]>

* comments

Signed-off-by: chentong319 <[email protected]>

* lit test

Signed-off-by: chentong319 <[email protected]>

* fix test

Signed-off-by: chentong319 <[email protected]>

* format

Signed-off-by: chentong319 <[email protected]>

* response

Signed-off-by: chentong319 <[email protected]>

---------

Signed-off-by: chentong319 <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* Fix GroupNorm to support Opset21 (#2928)

* Group norm for opset 21

* Testing phase

* Fix GroupNorm to support Opset21

---------

Signed-off-by: hamptonm1 <[email protected]>
Co-authored-by: Megan Hampton <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* Update Ops documentation for ONNX 1.16.2 (#2942)

* Update Ops documentation for ONNX 1.16.2

* Fix format

---------

Co-authored-by: Megan Hampton <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* LLVM/StableHLO Upgrade eaa95a1 (#2943)

Co-authored-by: Megan Hampton <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* added support for no-zero-point quantization (#2938)

Signed-off-by: Alexandre Eichenberger <[email protected]>
Co-authored-by: Tung D. Le <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>

* update with main

Signed-off-by: Sunny-Anand <[email protected]>

---------

Signed-off-by: chentong319 <[email protected]>
Signed-off-by: Sunny-Anand <[email protected]>
Signed-off-by: Mike Essenmacher <[email protected]>
Signed-off-by: Chen Tong <[email protected]>
Signed-off-by: hamptonm1 <[email protected]>
Signed-off-by: Alexandre Eichenberger <[email protected]>
Signed-off-by: Sunny Anand <[email protected]>
Co-authored-by: Tong Chen <[email protected]>
Co-authored-by: Tung D. Le <[email protected]>
Co-authored-by: Mike Essenmacher <[email protected]>
Co-authored-by: Alexandre Eichenberger <[email protected]>
Co-authored-by: hamptonm1 <[email protected]>
Co-authored-by: Megan Hampton <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants