Commit Graph

368 Commits

Author SHA1 Message Date
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
Tung D. Le edcd506dde
Merge branch 'master' into tanh_cos_log 2020-01-08 13:39:24 +09:00
Tian Jin 5bc0967175
Merge pull request #13 from tungld/get_float_for_constants
Do not get float attributes using a fixed precision
2020-01-07 23:31:52 -05:00
Tung D. Le 44ec333dfa Update test cases 2020-01-08 13:11:57 +09:00
Tung D. Le 3d4ad52011 Rewrite tanh using TanhOp, add log, cos 2020-01-08 12:11:21 +09:00
Tung D. Le becb2add4a Do not get float attributes with fixed precision 2020-01-07 17:39:34 +09:00
Tian Jin 322002f509
Merge pull request #9 from clang-ykt/use-mlir-in-llvm-project
Update to latest MLIR
2020-01-06 16:14:27 -05:00
Tian Jin 38e7d2d068 Update LLVM_SRC, LLVM_BUILD env vars to LLVM_PROJ_SRC, LLVM_PROJ_BUILD since MLIR is now parallel to LLVM in llvm-project repository. 2020-01-06 15:59:19 -05:00
Tian Jin 56e8c4c147 Pass MAKEFLAGS explicitly to CMake. 2019-12-31 14:13:02 -05:00
Tian Jin 12b51339cd Add quotation marks to debug. 2019-12-31 14:01:18 -05:00
Tian Jin 5c5efd142f Try setting Makeflags within installation scripts to debug. 2019-12-31 13:51:42 -05:00
Tian Jin 706ff24d33 1. Remove quotes from strings in yaml file for better consistency.
2. Use MAKEFLAGS env variable to limit build parallelism so that mlir installation script remains clean.
2019-12-31 13:28:26 -05:00
Tian Jin c4b990aed8 1. Simplify CircleCI build scripts.
2. Refactor mlir installation script to a standalone shell script.
2019-12-31 01:45:32 -05:00
Tian Jin b63b6bfd99 Limit build parallelism because CI is running out of memory. 2019-12-30 22:57:51 -05:00
Tian Jin 41b82556d6 Use new MLIR installation script. 2019-12-30 22:52:16 -05:00