* Initial implementation
* Support transposing inputs
* Revise unidirectional broadcasting and unknown dimensions
* Revise gemm
* Add testcase
* Rename some variables
* Update SharingWork.md
* Change from the use of Value* to Value
* Insert deallocation
* Initilize the output matrix and fix wrong computation
* Add end-to-end testcases
* Edit lowering tests
* Change attribute names
* Use emplace_push for SmallVector
* Use the new way of getting attributes
* Revise the use of attributes
* Check the bias's shape
Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
* Infer shape for Unsqueeze
* Lower Unsqueeze
* Revise
* Turn off backend tests
* Compute tensorSize for static shape
* Compute tensorSize with unknown dims
* Edit tests
* Update the use of attributes
* Add e2e tests
* Use SmallVector
* Remove return
* Check whether the operand is ranked or not
Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
* Initial lowering of KrnlSqrtOp
* Fix errors and add a testcase
* typos
* Add the MLIR example
* Restore doc/doc_check/CMakeLists.txt
* Clean the code
* Edit comments
* Remove redundant parts
* Chang the use of -> to .
* Add a test for f64
* Support ONNXSqrtOp
* Fix indentation
Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
* add attributes of Op into parameters
* fix rewrite rule for GemmOp with attributes
* use I64Attr instead of I32Attr and modify test cases for the changes in attributes
* add output name (prefixed with o_) to Op definition
* update shape inference for the new attributes
* Support Softplus and Softsign operations
* Add the default shape inference for the transposition operation.
* Fix conflict with master
* Fix conflict with master branch
* Add test for softplus and softsign in test/backend/test.py
* Re-enable Reciprocal tests.
Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
Co-authored-by: Tian Jin <tjingrant@gmail.com>
* change the read-in of attribute, using variant
* Use backported variant.
* Reduce code duplication.
* 1. Make array attribute parsing more clear.
2. int -> int64_t.
* 1. Fix how array attributes are imported.
* 1. Fix clang-tidy warnings.
* 1. Nit: fix clang-tidy warnings.
* Fix MaxPool node construction.
* Fix call to MaxPool.
* Comment out backend tests that fail.
* Add path to variant submodule to enable include file detection.
* Allow unused argument to avoid special casing generator.
* Address attribute related e2e test failures for Hard sigmoid,Elu,LeakyRelu,Selu,Softmax
Co-authored-by: chentong319 <chentong@us.ibm.com>
Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
* Rebase
* Use max normalization
* Handle axis
* Add tests
* Update SharingWork.md
* Remove redundant spaces
* Format code
* Rebase
* Change from the use of Value* to Value
* Add end-to-end tests
Co-authored-by: Tian Jin <tjingrant@gmail.com>
* Sync with latest MLIR.
* Enable ONNX backend tests as a means to test ONNF lowering end-to-end.
* Install ONNX using quiet mode.
* Remove debug comments.
* Install ONNX from third_party/onnx.
* Check python version and fix pip command for installing ONNX.
* Using --user install option to prevent permission denied.
* Remove unused imports.
* Try using stock ONNX pip package as there are more tests in them.
* Pip got stuck building wheels, try sudo.
* Use verbose install to debug.
* Invalidate cache to build LLVM tools.
* Fix mlir installation script location.
* Debug to locate ONNF.
* Sanity check.
* Check out ONNF code first.
* Use verbose LIT output.
* 1. Update documentation to always use verbose LIT.
2. Update krnl ops to reflect new affine map attribute syntax.
* See if conda exists
* Install ONNX by manually cloning the repo.
* Install cmake first.
* Using sudo priviledge when installing.
* Limit build parallelism.
* Limit parallelism.
* Larger memory.
* Install onnx package with pip.
* Build MLIR tools.
* Invalidate cache.
* Compile model.so with -fPIC.
* Remove module dump to get concise debug output.
* Print command before executing.
* Use quiet install mode to reduce logging.
* Use -relocation-model=pic to generate position independent code.
* 1. Remove MAKEFLAGS because now buildbot has enough memory.
2. Run DocCheck as a last step.
* 1. Add verbose mode for backtend test.
* When dumping to LLVM bitcode, do not dump module IR, but print a message indicating that bitcode has been written to disk.
* Do not pass MakeFlags to CMake.
* Add more explaination for posible reasons of failing to identify tests.