Commit Graph

432 Commits

Author SHA1 Message Date
Doru Bercea ea45cbcca9 Add support for dilations attribute and add tests. 2020-01-22 14:40:10 -05:00
Doru Bercea de77758faf Fix kernel dimensions. 2020-01-22 10:11:36 -05:00
Doru Bercea 169236a8fc Handle SAME_LOWER and SAME_UPPER. 2020-01-22 10:11:36 -05:00
Doru Bercea ec9e023f04 Add shape inference method. 2020-01-22 10:11:36 -05:00
Doru Bercea 3fe0f2e735 Fix operand type access. 2020-01-22 10:11:36 -05:00
Doru Bercea ab8e2f9a1b Add verifier to check for required attributes. 2020-01-22 10:11:34 -05:00
Tian Jin ff0e25fdc9 Re-enable Reciprocal tests. 2020-01-21 19:41:22 -07:00
Tian Jin 51b0f4c9dd
Chentong319 attribute with variant (#25)
* 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>
2020-01-21 19:36:21 -07:00
Tian Jin 0231bb83a2
Properly link with ZLIB. (#40) 2020-01-21 11:08:16 -05:00
Tung D. Le e89e51699b Lowering softmax (#14)
* 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>
2020-01-20 21:57:32 -05:00
Gheorghe-Teodor Bercea 0aaab0d2d2
Merge pull request #35 from clang-ykt/perm-transpose
Infer shape of transposition operations using the perm attribute
2020-01-20 15:53:14 -05:00
Doru Bercea 6b55bb43c7 Fix operand type access. 2020-01-20 15:48:16 -05:00
Doru Bercea bd44d8402e Add verifier function for checking negative perms. 2020-01-20 14:54:40 -05:00
Doru Bercea f0b484c0bc Add test for transpose with permutation. 2020-01-20 14:54:40 -05:00
Doru Bercea 9d1078540d Transpose using perm attribute. 2020-01-20 14:54:40 -05:00
Tian Jin 8665ecd998
Enable e2e tests (#29)
* 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.
2020-01-20 12:30:08 -05:00
Gheorghe-Teodor Bercea a87f01747a
Merge branch 'master' into matmul-shape 2020-01-15 18:03:03 -05:00
Gheorghe-Teodor Bercea c2d31c0b78
Merge pull request #32 from clang-ykt/fix-conv
Fix convolution translation to ONNX dialect
2020-01-15 18:01:41 -05:00
Gheorghe-Teodor Bercea d895670656
Merge branch 'master' into fix-conv 2020-01-15 17:56:57 -05:00
Gheorghe-Teodor Bercea 2ea0724e4d
Merge pull request #33 from clang-ykt/fix-gemm
Fix Gemm translation to ONNX dialect.
2020-01-15 17:56:43 -05:00
Gheorghe-Teodor Bercea deb7a7c4bb
Merge branch 'master' into matmul-shape 2020-01-15 17:51:13 -05:00
Gheorghe-Teodor Bercea 969459ddcb
Merge branch 'master' into fix-conv 2020-01-15 17:50:36 -05:00
Gheorghe-Teodor Bercea 514cbcb1dc
Merge branch 'master' into fix-gemm 2020-01-15 17:50:15 -05:00
Gheorghe-Teodor Bercea b50fc1fdeb
Merge pull request #34 from clang-ykt/fix-maxpool
Fix MaxPool translation to ONNX dialect.
2020-01-15 17:49:50 -05:00
Doru Bercea a1b44905e2 Add documentation for handling optional arguments. 2020-01-15 17:06:14 -05:00
Doru Bercea 3f6efdf4a4 Fix MaxPool translation to ONNX dialect. 2020-01-15 15:16:45 -05:00
Doru Bercea d2a90e2923 Remove references to FullGemm. 2020-01-15 14:27:21 -05:00
Doru Bercea a42fdd08f3 Fix Gemm translation to ONNX dialect. 2020-01-15 14:11:32 -05:00
Doru Bercea 67ec9e9009 Fix convolution translation to MLIR. 2020-01-15 13:26:50 -05:00
Doru Bercea fc352745e0 Make last argument of conv variadic. 2020-01-14 11:17:52 -05:00
Doru Bercea 36475ac509 Code clean-up. 2020-01-14 10:47:24 -05:00
Doru Bercea e091825896 Add check for matrix size match for 1 and 2 dimenisional cases. 2020-01-14 10:47:24 -05:00
Doru Bercea da0e9b01b1 Fix 1 and 2 dimensional cases. Add test for 1 and 2 dimensional combinations. 2020-01-14 10:47:24 -05:00
Doru Bercea 642f77abed Add additional dynamic dimension. 2020-01-14 10:47:24 -05:00
Doru Bercea 95ebf3e23a Add test for multypling stacks of matrices. 2020-01-14 10:47:24 -05:00
Doru Bercea ae966cdee9 Add tests for matrices and stack of matrices combinations. 2020-01-14 10:47:24 -05:00
Doru Bercea a5f1d39c20 Add tests for matrices and stack of matrices combinations. 2020-01-14 10:47:24 -05:00
Doru Bercea 6478c88cdc Add test for all one dimensional case. 2020-01-14 10:47:24 -05:00
Doru Bercea 96551ef71e Fix conditions. 2020-01-14 10:47:24 -05:00
Doru Bercea a3995b61e7 Add support for shape broadcast. 2020-01-14 10:47:24 -05:00
Doru Bercea 38bffee619 Add support for broadcasting left matrix. 2020-01-14 10:47:24 -05:00
Doru Bercea d176b84506 Add support for broadcasting right matrix. 2020-01-14 10:47:24 -05:00
Doru Bercea 170296b7c6 Add special case for 1-D matrix multiplication. 2020-01-14 10:47:22 -05:00
Tian Jin deef363309
Use a more compatible way to locate python interpreter executable. (#28) 2020-01-13 21:52:54 -05:00
Tian Jin 22a6bdc574
Sync with latest MLIR. (#26) 2020-01-13 12:21:29 -05:00
Tian Jin f384e3187e
Update README.md (#23) 2020-01-13 11:40:51 -05:00
Tian Jin 1ebcc2eb64
[RFC] Doc-check utility. (#12)
* 1. Implement doc-check utility.

* 1. Move ONNF installation script to a standalone script file.

* 1. Modify build script to install llvm-project next to ONNF. The build script used to install llvm-project inside ONNF, which didn't make sense.

* 1. Check out code to ONNF directory.

* 1. Pass path parameter correctly.

* 1. Debugging buildbot.

* 1. Remove debug code.

* 1. Update installation instructions in README.md.
2. Enforce consistency with scripts used in testing using doc-check.

* 1. Fix error with respect to syntax to build multiple CMake targets.

* 1. Move doc-check to doc_check.
2. Remove directive_config in top-level driver.

* 1. Build onnf and check-mlir-lit separately because only CMake 3.15+ supports building multiple targets in one cmake --build run.

* 1. Use new env variables to locate LLVM-Project.

* 1. Documentation nits.

* 1. Prettify buildbot scripts.

* 1. Fix build script error.

* 1. Support exclude_dirs in DocCheck.
2. Add README for DocCheck.

* 1. Mark python3 interpreter as required.
2. Use imported interpreter target.

* 1. Automatically deduce doc file extension in DocCheckCtx.
2. Rename ctx.open -> ctx.open_doc since it should only be used to open doc file.
3. Always read line in parser, instead of reading lines in driver and then passing it to parser.py.

* 1. Rename parser -> doc_parser due to name conflict with python built-in module.
2. Explose doc_check module directory first before importing; otherwise if the doc_check utility is invoked by other script, importing will not work correctly.

* 1. Keep renaming parser -> doc_parser.
2. Explicitly define a default configuration parser that parses the configuration into a python dictionary.

* 1. Add test for doc-check.
2. Exclude doc-check tests from project dock-check because base directory is different.

* 1. Raise ValueError if directive configuration fails to parse.
2. Format code.

* Shorten test case documentation.
Show example of using same-as-file directive, check with DocCheck.

* 1. Shorten test case documentation.
2. More documentation, check documentation with DocCheck.

* 1. Add copyright notice.

* 1. Make documentation clearer.
2. Prettify build-scripts.

* 1. Provide more documentation.
2. Fix some non-compliance with pep8 recommendations.

Co-authored-by: Gheorghe-Teodor Bercea <gt.bercea@gmail.com>
2020-01-09 18:35:52 -05:00
Gheorghe-Teodor Bercea 7607edefe9
Merge pull request #11 from clang-ykt/naive-transpose
Add default shape inference for the transposition operation.
2020-01-09 14:07:44 -05:00
Doru Bercea 151f4f8c44 Add the default shape inference for the transposition operation. 2020-01-09 13:50:38 -05:00
Tian Jin caeba371fb
Merge pull request #15 from tungld/tanh_cos_log
Rewrite tanh using TanhOp, and add support for log, cos
2020-01-08 15:48:58 -05:00