-
Notifications
You must be signed in to change notification settings - Fork 325
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
[TOSA] Update type converter and unary ops #1553
[TOSA] Update type converter and unary ops #1553
Conversation
Can one of the admins verify this patch? |
@jenkins-droid test this please |
b830326
to
6397a18
Compare
Can one of the admins verify this patch? |
6397a18
to
c334758
Compare
Can one of the admins verify this patch? |
@jenkins-droid test this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this starting contribution @BraunPhilipp!
The TOSA parts look great, except for the suggestion inline.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@chentong319 this pr use type conversions, since you just worked with this, you may want to give a look to this PR too... thanks
Can one of the admins verify this patch? |
@jenkins-droid test this please |
49ad859
to
f8bdb7a
Compare
Can one of the admins verify this patch? |
Thanks again @sjarus @AlexandreEichenberger for reviewing! I tried to address the comments ( |
The new version looks good functionally! But I think you may find in future that when similar fp-only ops are added - CeilOp for example - you'd be duplicating the specialization that would only differ in the src/dst op names. |
@BraunPhilipp please familiarize yourself with DCO. If you state here compliance with the policy, I will override the check for this PR, no need to do a new one. From the bottom of our README: ONNX-MLIR requires committers to sign their code using the Developer Certificate of Origin (DCO). Practically, each git commit needs to be signed, see here for specific instructions. |
PS: we have some network issues that result sometimes in jenkins failures. I will run it again, your PR is likely fine. |
@jenkins-droid test this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, again let me know if you want to change the template pattern or not.
|
||
namespace { | ||
|
||
template <typename ONNXOpT, typename TOSAOpT> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This template works well and I am not asking you to change the code.
You could still look at the template pattern we use in src/Conversion/Math/Elementwise.cpp where we use this:
template <>
struct ScalarOp<ONNXDivOp> {
using FOp = arith::DivFOp;
using IOp = arith::DivSIOp;
};
to reduce a bit on the redundant code that you have here. Let me know if you want to change it to that pattern. If not, I am fine accepting the PR as is with the understanding that if you add many more element wise op you would at least consider this pattern, if it fits your usage pattern.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@BraunPhilipp please let me know if you want to further change the code, or if you want the code to land as is.
In all cases, you need to confirm here that you abided by the DCO requirements. Once you do so, I can override the DCO failure when merging with main.
Sorry for the late reply due to Europe's vacation season. Thank you for the template suggestion! I will update it this week and double check the DCO requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From Swizerland myself... vacations are important :-)
@BraunPhilipp please let me know if you want to further change the code, or if you want the code to land as is. In all cases, you need to confirm here that you abided by the DCO requirements. Once you do so, I can override the DCO failure when merging with main. |
Signed-off-by: Philipp Braun <[email protected]>
59e583f
to
aac157c
Compare
Can one of the admins verify this patch? |
@AlexandreEichenberger Sorry for the late reply! This turned out to be legally more challenging than expected.
For the PR itself, I just rebased on top of main and tweaked the templating. Let me know if the implementation requires other changes. Further contributions should be smoother. |
updated branch to latest and started the CIs |
Jenkins Linux amd64 Build #7964 [push] [TOSA] Update type conve... started at 12:02 |
Jenkins Linux s390x Build #7980 [push] [TOSA] Update type conve... started at 13:02 |
Jenkins Linux ppc64le Build #7028 [push] [TOSA] Update type conve... started at 13:05 |
Jenkins Linux amd64 Build #7964 [push] [TOSA] Update type conve... passed after 1 hr 9 min |
Jenkins Linux ppc64le Build #7028 [push] [TOSA] Update type conve... passed after 1 hr 35 min |
Jenkins Linux s390x Build #7980 [push] [TOSA] Update type conve... passed after 1 hr 57 min |
Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]>
Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]>
Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]>
* Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (#1758) closes #1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue #1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (onnx#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (onnx#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (onnx#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (onnx#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (onnx#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (onnx#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (onnx#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (onnx#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (onnx#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (onnx#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (onnx#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (onnx#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (onnx#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (onnx#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (onnx#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (onnx#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (onnx#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (onnx#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (onnx#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (onnx#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (onnx#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (onnx#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (onnx#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (onnx#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (onnx#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (onnx#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (onnx#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (onnx#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (onnx#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (onnx#1758) closes onnx#1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue onnx#1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (onnx#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (onnx#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* update shape inference and test Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * Update onnx-mlir product version (#1727) * Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (#1758) closes #1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue #1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]> * different initial Signed-off-by: chentong319 <[email protected]> Signed-off-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: hamptonm1 <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (onnx#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (onnx#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (onnx#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (onnx#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (onnx#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (onnx#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (onnx#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (onnx#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (onnx#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (onnx#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (onnx#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (onnx#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (onnx#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (onnx#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (onnx#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (onnx#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (onnx#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (onnx#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (onnx#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (onnx#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (onnx#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (onnx#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (onnx#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (onnx#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (onnx#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (onnx#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (onnx#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (onnx#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (onnx#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (onnx#1758) closes onnx#1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue onnx#1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (onnx#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (onnx#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* update shape inference and test Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * Update onnx-mlir product version (onnx#1727) * Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (onnx#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (onnx#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (onnx#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (onnx#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (onnx#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (onnx#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (onnx#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (onnx#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (onnx#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (onnx#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (onnx#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (onnx#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (onnx#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (onnx#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (onnx#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (onnx#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (onnx#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (onnx#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (onnx#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (onnx#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (onnx#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (onnx#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (onnx#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (onnx#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (onnx#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (onnx#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (onnx#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (onnx#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (onnx#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (onnx#1758) closes onnx#1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue onnx#1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (onnx#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (onnx#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]> * different initial Signed-off-by: chentong319 <[email protected]> Signed-off-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: hamptonm1 <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (onnx#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (onnx#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (onnx#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (onnx#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (onnx#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (onnx#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (onnx#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (onnx#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (onnx#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (onnx#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (onnx#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (onnx#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (onnx#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (onnx#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (onnx#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (onnx#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (onnx#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (onnx#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (onnx#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (onnx#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (onnx#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (onnx#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (onnx#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (onnx#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (onnx#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (onnx#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (onnx#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (onnx#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (onnx#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (onnx#1758) closes onnx#1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue onnx#1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (onnx#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (onnx#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
* update shape inference and test Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * lowering Signed-off-by: chentong319 <[email protected]> * Update onnx-mlir product version (onnx#1727) * Update onnx-mlir product version Signed-off-by: Megan Hampton <[email protected]> * fix einsum decomposition bug (onnx#1730) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update version to 0.3.1 (onnx#1728) Signed-off-by: Megan Hampton <[email protected]> * Fix issues to compile Yolov3-12. (onnx#1726) Stop conversion to enable onnx.LeakyRelu on NNPA when the stickified layouts of input and output are not the same. Signed-off-by: Yasushi Negishi <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * simplified if lowering (onnx#1717) borrowed ideas from ConvertTrivialIfToSelect from https://github.com/llvm/llvm-project/blob/main/mlir/lib/Dialect/SCF/IR/SCF.cpp Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add definitions Signed-off-by: Megan Hampton <[email protected]> * parse string type from getTypeMap() (onnx#1735) added a parse lit test that passes with this fix Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix 2 compiler warnings (onnx#1736) * fix sprintf-is-deprecated clang warning warning from Apple clang version 14.0.0 (clang-1400.0.29.201): ``` .../src/Conversion/ONNXToKrnl/PerfectHash.cpp:47:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(str, "%lld", (long long)val); /Library/Developer/CommandLineTools/SDKs/MacOSX13.0.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ``` Signed-off-by: Soren Lassen <[email protected]> * fix copy constructor warning copied solution from InstrumentONNXPass.cpp fixes compiler warning in Linux CI pipelines: ``` .../src/Transform/ONNX/ConvOpt.cpp: In copy constructor '{anonymous}::ConvOptONNXToONNXPass::ConvOptONNXToONNXPass(const {anonymous}::ConvOptONNXToONNXPass&)': .../src/Transform/ONNX/ConvOpt.cpp:211:3: warning: base class 'class mlir::PassWrapper<{anonymous}::ConvOptONNXToONNXPass, mlir::OperationPass<mlir::func::FuncOp> >' should be explicitly initialized in the copy constructor [-Wextra] ConvOptONNXToONNXPass(const ConvOptONNXToONNXPass &pass) {} ``` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * cleanup some include files (onnx#1733) Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix remaining warnings on Windows and turn on warning-as-error (onnx#1706) This change applies the remaining fixes needed for warnings to be treated as errors on Windows and then turns them on on Windows only. Of particular interest are a couple of changes: * The `check-docs` target needs an update to properly parse the directive even when it contains parenthesis in the path. For example: `C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python39_64/python.exe` * The Windows CI build now builds `onnx` first and then builds all of the targets that are enabled in onnx-mlir. This will make sure that no targets get missed * The remaining warnings (4927) in `ConstProp.cpp` are fixed as well. Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix synax Signed-off-by: Megan Hampton <[email protected]> * Simplify shape-related operations (onnx#1695) * Simplify shape-related operations Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * run-onnx-lib script and docs fixes (onnx#1705) * update documentation for build-run-onnx-lib.sh * clarified Mac issue with running statically linked version in the directory where model library was built * moved usage string up to the top of RunONNXLib.cpp, so it's visible next to the top of file block comment, * allow llvm-project location to be set with LLVM_PROJECT, otherwise read from $MLIR_DIR if defined Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * remove initializedTensors map from ONNX parser (onnx#1739) instead insert a constant for each initializer in the frontend_symbols_ symbol map this is better for several reasons: 1. initializedTensors were incorrectly visible to function bodies (in TryImportFunctionCallNode) 2. nested bindings didn't hide initializedTensors within their scope 3. it's more efficient to create a constant for each initializer once rather than every time an initializer is accessed 4. it's simpler to look up a single symbol mapping Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add decompositions for v11 split, squeeze, and unsqueeze (onnx#1702) * Add decompositions for v11 split, squeeze, and unsqueeze Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Philip Lassen <[email protected]> * Fix lit test Signed-off-by: Philip Lassen <[email protected]> * Add lit tests Signed-off-by: Philip Lassen <[email protected]> * Delete unneccesary decomp for unsqueeze Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * factored input shaping into ModelInputShaper (onnx#1740) * factored input shaping into ModelInputShaper this makes the it easier to read and understand the input shaping logic and also makes the rest of the FrontendDialectTransformer implementation shorter and easier to read Signed-off-by: Soren Lassen <[email protected]> * documented public methods Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Ingest all of Opset 16 (onnx#1704) * Ingest al of opset 16 Signed-off-by: Philip Lassen <[email protected]> * Delete GridSample test which is no longer relevant Signed-off-by: Philip Lassen <[email protected]> * Use NullStringAttr insead of "none" string Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix onnx-mlir.py docker wrapper (onnx#1734) * Requiring input files to have known suffix (.onnx, .json, or .mlir) greatly simplifies the onnx-mlir.py docker wrapper. Signed-off-by: Gong Su <[email protected]> * Return exit code Signed-off-by: Gong Su <[email protected]> * Add copyright notice Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Update protobuf (onnx#1747) * Update to protobuf 3.20.2 Signed-off-by: Charles Volzka <[email protected]> * Try 3.18.3 Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add the product version and fix formatting Signed-off-by: Megan Hampton <[email protected]> * Make updates to product version Signed-off-by: Megan Hampton <[email protected]> * further updates Signed-off-by: Megan Hampton <[email protected]> * Add product version text file Signed-off-by: Megan Hampton <[email protected]> * Removed the memory leaks directly in execution session (onnx#1746) * removed the memory leaks directly in execution session Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Add support for ArgMin (onnx#1737) * add support for ArgMin Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Inclusive terminology update (onnx#1750) * Update `master` reference to `main` in onnx-mlir doc * Update rapidcheck to newer commit with inclusive terminology changes * Update benchmark to 1.6.2 with inclusive terminology changes * Update pybind11 to 2.10 with inclusive terminology changes Signed-off-by: Megan Hampton <[email protected]> * Warning and instructions that --onnx-op-stats needs more than EmitONNXIR (onnx#1719) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Move product version text file Signed-off-by: Megan Hampton <[email protected]> * Remove comment Signed-off-by: Megan Hampton <[email protected]> * Output the product version for the compiler/version Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * setup.py install is deprecated, use pip install instead (onnx#1752) * setup.py install is deprecated, use pip install instead (see https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for more details). Signed-off-by: Gong Su <[email protected]> * - pip install doesn't work for protobuf, revert back to setup.py install - use --cpp_implementation for better performance Signed-off-by: Gong Su <[email protected]> * Update Windows CI Signed-off-by: Gong Su <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * adding reference to onnx-mlir-serving (onnx#1745) Signed-off-by: Alexandre Eichenberger <[email protected]> Co-authored-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * [TOSA] Update type converter and unary ops (onnx#1553) Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix syntax Signed-off-by: Megan Hampton <[email protected]> * Remove strip Signed-off-by: Megan Hampton <[email protected]> * Revert "Cleaned up commit of the InferTypes change. (onnx#1753)" This reverts commit d08c5ac. Signed-off-by: Megan Hampton <[email protected]> * Cleaned up commit of the InferTypes change. (onnx#1753) Signed-off-by: Brad Messer <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix for GatherND verifier (onnx#1754) Co-authored-by: Hadi Jooybar <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Fix OnnxBuilder::concat where axis was not used (onnx#1759) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Simplify GatherOp when its inputs are dimensions (onnx#1755) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Assign each question mark a unique negative integer value (onnx#1757) * Assign each question mark a unique negative integer value Signed-off-by: Tung D. Le <[email protected]> * Add a mutex to protect the counter Signed-off-by: Tung D. Le <[email protected]> * Using decrement Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Change the regex Signed-off-by: Megan Hampton <[email protected]> * Fix regex and display product numbers Signed-off-by: Megan Hampton <[email protected]> * normalize axis in ScatterElements verify (onnx#1760) Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * redo ArrayRefOrSmallVector with enable_if (onnx#1758) closes onnx#1729 * redo ArrayRefOrSmallVector with enable_if attempt to address issue onnx#1729: Build error on Linux Signed-off-by: Soren Lassen <[email protected]> * added @qedawkins fix: begin,end -> data,size Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Quinn Dawkins [email protected] Co-authored-by: Philip Lassen <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * fix syntax Signed-off-by: Megan Hampton <[email protected]> * Handle scalar tensor tensor<type> in SimplifyShapeRelatesOps pass (onnx#1764) Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * namespace cleanup (onnx#1763) * namespace cleanup removed `using namespace mlir` from ConstPropHelper.hpp and added requisite `mlir::` and `llvm::` in header files to get everything to compile again also put ConstPropHelper definitions in namespace onnx_mlir Signed-off-by: Soren Lassen <[email protected]> * added more missing `mlir/llvm::` Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Signed-off-by: Megan Hampton <[email protected]> * Signed-off-by: Megan Hampton <[email protected]> Fix Clang format error * Make use of the product vendor flag Signed-off-by: Megan Hampton <[email protected]> * Address feedback Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: chentong319 <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]> * different initial Signed-off-by: chentong319 <[email protected]> Signed-off-by: chentong319 <[email protected]> Signed-off-by: Megan Hampton <[email protected]> Signed-off-by: Soren Lassen <[email protected]> Signed-off-by: Stella Stamenova <[email protected]> Signed-off-by: Tung D. Le <[email protected]> Signed-off-by: Philip Lassen <[email protected]> Signed-off-by: Gong Su <[email protected]> Signed-off-by: Charles Volzka <[email protected]> Signed-off-by: Hengyu Meng <[email protected]> Signed-off-by: Alexandre Eichenberger <[email protected]> Signed-off-by: Philipp Braun <[email protected]> Co-authored-by: hamptonm1 <[email protected]> Co-authored-by: Megan Hampton <[email protected]> Co-authored-by: Soren Lassen <[email protected]> Co-authored-by: Charles Volzka <[email protected]> Co-authored-by: Yasushi Negishi <[email protected]> Co-authored-by: Stella Stamenova <[email protected]> Co-authored-by: Tung D. Le <[email protected]> Co-authored-by: Alexandre Eichenberger <[email protected]> Co-authored-by: Philip Lassen <[email protected]> Co-authored-by: Roberto DiCecco <[email protected]> Co-authored-by: gongsu832 <[email protected]> Co-authored-by: Meng, Hengyu <[email protected]> Co-authored-by: Brad Messer <[email protected]> Co-authored-by: Philipp Braun <[email protected]> Co-authored-by: Hadi Jooybar <[email protected]>
This PR serves the following purposes:
ONNXToTOSA
pass to align with other conversion passesonnx.Floor
andonnx.Neg
Signed-off-by: Philipp Braun [email protected]