Adding support for calling MLIR functions#5
Conversation
Codecov Report
@@ Coverage Diff @@
## master #5 +/- ##
==========================================
- Coverage 94.16% 88.53% -5.63%
==========================================
Files 9 10 +1
Lines 1079 1186 +107
==========================================
+ Hits 1016 1050 +34
- Misses 63 136 +73
Continue to review full report at Codecov.
|
|
Cool PR! I will review it as soon as I can :) |
tbennun
left a comment
There was a problem hiding this comment.
Nice! Minor changes only
| **Problem parsing MLIR files?** Run the file through LLVM's `mlir-opt --mlir-print-op-generic` to get the generic form | ||
| of the IR (instructions on how to build/install MLIR can be found [here](https://mlir.llvm.org/getting_started/)): | ||
| ``` | ||
| $ mlir-opt file.mlir --mlir-print-op-generic > output.mlir | ||
| **Problem parsing MLIR files?** Run the file through LLVM's `mlir-opt` as `mlir.run.mlir_opt(source, ["--mlir-print-op-generic"])` to | ||
| get the generic form of the IR (instructions on how to build/install MLIR can be found [here](https://mlir.llvm.org/getting_started/)): | ||
| ```python | ||
| source = mlir.run.mlir_opt(source, ["--mlir-print-op-generic"]) |
There was a problem hiding this comment.
please keep the shell script option as the default, and the python call as an alternative
|
|
||
| __copyright__ = "Copyright (C) 2020 Kaushik Kulkarni" | ||
|
|
||
| __license__ = """ | ||
| Redistribution and use in source and binary forms, with or without | ||
| modification, are permitted provided that the following conditions are met: | ||
|
|
||
| * Redistributions of source code must retain the above copyright notice, this | ||
| list of conditions and the following disclaimer. | ||
|
|
||
| * Redistributions in binary form must reproduce the above copyright notice, | ||
| this list of conditions and the following disclaimer in the documentation | ||
| and/or other materials provided with the distribution. | ||
|
|
||
| * Neither the name of the copyright holder nor the names of its | ||
| contributors may be used to endorse or promote products derived from | ||
| this software without specific prior written permission. | ||
|
|
||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | ||
| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| """ |
There was a problem hiding this comment.
There is already a license for this project under LICENSE, in which the copyright belongs to ETH Zurich. I now made a proper AUTHORS file and added you there instead :)
| from pytools import memoize_method | ||
| from pytools.prefork import call_capture_output, ExecError | ||
| from codepy.jit import compile_from_string | ||
| from codepy.toolchain import ToolchainGuessError, GCCToolchain | ||
| from codepy.toolchain import guess_toolchain as guess_toolchain_base |
There was a problem hiding this comment.
since these are all optional dependencies, would be good to wrap them in a try/except block (catching ModuleNotFoundError, NameError, and ImportError) and printing out that these packages are necessary for running
| __copyright__ = "Copyright (C) 2020 Kaushik Kulkarni" | ||
|
|
||
| __license__ = """ | ||
| Redistribution and use in source and binary forms, with or without | ||
| modification, are permitted provided that the following conditions are met: | ||
|
|
||
| * Redistributions of source code must retain the above copyright notice, this | ||
| list of conditions and the following disclaimer. | ||
|
|
||
| * Redistributions in binary form must reproduce the above copyright notice, | ||
| this list of conditions and the following disclaimer in the documentation | ||
| and/or other materials provided with the distribution. | ||
|
|
||
| * Neither the name of the copyright holder nor the names of its | ||
| contributors may be used to endorse or promote products derived from | ||
| this software without specific prior written permission. | ||
|
|
||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
| DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | ||
| FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | ||
| SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
| CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
| OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| """ |
mlir.runthat contains helpers for calling MLIR functions.tests/test_run.py.