- 10 Jun, 2019 3 commits
- 03 Jun, 2019 10 commits
-
-
nmostafa authored
-
nmostafa authored
-
Diego Caballero authored
Unused variables.
-
Diego Caballero authored
[MLIR] Improve MLIR dump
-
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.
-
nmostafa authored
-
Scott Cyphers authored
-
Scott Cyphers authored
* Support for no-arg op construction * Add a-ops. * Two const init variations to try to solve windows link error * Try export for windows * Create outputs as needed, test * Remove attribute helpers * another windows try * windows * windows * Partial node cleanup * Review comments Node destruction that doesn't blow out the stack on deep graphs * Review comments * Update src/ngraph/node.hpp Co-Authored-By: Adam Procter <adam.m.procter@intel.com> * Have huge test check that nodes were deleted * Switch constructors to use Output instead of Node * Review comments * Add some comments
-
Diego Caballero authored
-
- 02 Jun, 2019 27 commits
-
-
Diego Caballero authored
-
nmostafa authored
-
Diego Caballero authored
-
Diego Caballero authored
This patch introduces tablegen definitions for element-wise reduction operations (only definitions, not building/lowering code). This includes argmin, argmax, min, max, sum, prod, all and any. From the design point of view, a single base class seems to be enough to cover all the common ground of these operations. A different base class will be necessary for avg pool reduction operations.
-
Nagy Mostafa authored
* Improve verification for unary, binary, cmp and select ops. Refactor .td file to enable that.
-
Nagy Mostafa authored
MLIR Compile only supported ops
-
Diego Caballero authored
Element type was not lowered.
-
Diego Caballero authored
It introduces end-to-end support for sub-graphs with multiple nodes. It adds a test with a dot+add ops. Co-authored-by: Diego Caballero <diego.caballero@intel.com> Co-authored-by: Nagy Mostafa <nagy.mostafa@gmail.com>
-
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
* [MLIR] Replace MatmulBiasOp with DotOp We disable CPUFusion if MLIR is enabled to avoid CPU specific ops to be introduced for now.
-
Nagy Mostafa authored
* Upgrade MLIR. Several code fixes based on API changes * Fixes due to DialectConv API changes * style-apply * PR fixes
-
Diego Caballero authored
MLIR is now initialize once once in CPU backend.
-
Nagy Mostafa authored
* Move dialect and types to mlir namespace * PR fixes and some cleanup * Merge fix
-
Nagy Mostafa authored
-
Nagy Mostafa authored
* Enable module verification. Fix FakeInput result type to memref * style-apply
-
Nagy Mostafa authored
* Initial td file. Cmake changes * Move all ops to .td file. * Added few more opcodes to show-case. Fixed PR feedback * Remove NG_ prefix of opcode records. Some fixes * Added some doc * Adding back NG prefix * Bug fix in MLIR gen
-
Nagy Mostafa authored
-
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
-
Diego Caballero authored
This patch enables LLVM optimizations at -O3 level.
-
Diego Caballero authored
We want to use ComputedKernel for any target to delimit sub-graphs to be compiled and executed with 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)
-