- 18 Jul, 2019 1 commit
-
-
Adam Procter authored
* WIP * All but two unit tests passing * Explanatory comment * Cleanup * A bit of cleanup stemming from review comments * Rewrite to use LoopNestBuilder * Remove unnecessary check from CompiledKernel * Removed some dead-ish code I missed * Switch to camelCase in lowerer.cpp * Fix assignment of resIndexHandles that was triggering an assert * Add in some safety checks * dyn_cast -> cast
-
- 11 Jul, 2019 1 commit
-
-
Nagy Mostafa authored
* Support MLIR lowering of Relu * Use EDSC comparison * style-apply * Use .inc file for Conversion classes list * Disable i32 Relu for plaidml
-
- 28 Jun, 2019 1 commit
-
-
Diego Caballero authored
Improvements and changes in dialect conversion APIs. Type conversion and op rewriting are now a bit more independent mechanisms. Dialect conversion now requires a target object with the legal transformations to be applied. Legality checks to detect illegal operations after dialect conversion have been strengthened significantly. MLIR LLVM commit: commit 82d5084cf28bca7a0eebec283cdeae118dfa1d11 (HEAD) Author: Jacques Pienaar <jpienaar@google.com> Date: Wed Jun 26 11:12:40 2019 -0700 Split out TranslateClParser and add new parse method that reuses SourceMgr. MLIR commit: commit 82d5084cf28bca7a0eebec283cdeae118dfa1d11 (HEAD) Author: Jacques Pienaar <jpienaar@google.com> Date: Wed Jun 26 11:12:40 2019 -0700 Split out TranslateClParser and add new parse method that reuses SourceMgr.
-
- 13 Jun, 2019 3 commits
-
-
nmostafa authored
-
nmostafa authored
-
Diego Caballero authored
-
- 10 Jun, 2019 1 commit
-
-
nmostafa authored
-
- 03 Jun, 2019 2 commits
-
-
Diego Caballero authored
-
Diego Caballero authored
It refactor MLIR dump code in MLIRCompiler and adds missing dumps for some steps of the lowering. It also removes some redundant dump for affine dialect.
-
- 02 Jun, 2019 11 commits
-
-
Diego Caballero authored
-
Diego Caballero authored
-
Diego Caballero authored
It extends dot definition to be able to deal with operands that are not square tensors. It also fixes a bug in the lowerer related to that.
-
Diego Caballero authored
This patch leverages CompiledKernel to delimit sub-graphs to be compiled with MLIR. It introduces a pass that creates a CompiledKernel for the whole function (for now) and changes MLIRCompiler to align with this new approach.
-
Nagy Mostafa authored
* Use NGRAPH export macros instead of CPU * Move code to ngmlir namespace
-
Nagy Mostafa authored
* Move MLIR to src/contrib/mlir
-
Nagy Mostafa authored
* Create MLIR as cmake external project. Clone and build via ngraph cmake * Moved code and enabled compilation. Need to clone and build MLIR/LLVM during cmake step, so find_package can work * clone and build llvm/mlir during configuration. Compiles now. Needs more testing * Force DEX only if MLIR is ON * Remove extra cmake file. Style-apply * Remove redundant files in cpu/mlir * Update CODEOWNERS. Check for ninja and fail if not found * Fixing post merge issues
-
Nagy Mostafa authored
* Implements a simple memory manager that just does malloc for now. Pointers are freed during cleanup. * Enable JIT call-back to memory manager to allocate temps. * Memory manager pointer is passed to the JIT'ed code upon invocation. That makes the code re-entrant from different threads in case the code is shared among identical sub-graphs that are executed in parallel.
-
Diego Caballero authored
The following test should work now: NGRAPH_MLIR_DUMP_ALL=1 NGRAPH_MLIR=1 test/unit-test '--gtest_filter=CPU.dot2d'
-
Diego Caballero authored
-
Nagy Mostafa authored
* Link MLIR static libs to cpu backend * Use LLVMConfig.cmake * Initial commit. Link fails with undefined reference to typeinfo for mlir::Dialect * Added AddOp * initial compiler class * Initialize module/function, and map tensors to arguments * Code compiles. Moved MLIR building to correct DEX handler * NGDialect code-gen working * Use vector instead of sets for i/o tensors. Use functor in executor * Misc fixes * style-apply * WIP: Adding support for dialect lowering. * WIP: Lowered to affine. Crash on constant ops have side effects in Constant Folding * Fixed missing whole package linkage. * Removed fake instruction and update func type * Enable lowering to LLVM dialect and IR * Made loop nest builder handle any rank * Fixes per PR feedback. Major ones: - Removed ngdialect namespace - renamed dialect classes to start with NG prefixwq:w * Add unreachable assert * Add reading of LLVM options from an env var MLIR_LLVM_OPTIONS (#5)
-