1. 04 Nov, 2019 1 commit
    • Nagy Mostafa's avatar
      [MLIR] New Core Ops (V0) and Ops Versioning in NG dialect (#3764) · 8ef5b0ca
      Nagy Mostafa authored
      * Init commit to implement interface
      
      *  Add two op interfaces for v0 and v1. Add a unit-test
      
      * Add missing files
      
      * Move test to separate file
      
      * Add Fused Op interface
      
      * Missing files
      
      * style
      
      * fused ops
      
      * Remove V1 ops for now
      
      * Added enum attributes. WIP
      
      * Completed non-experiemntal non-fused-ops
      
      * Add ops_attributes
      
      * Minor fixes
      
      * Minor fixes
      
      * Added enum setting/reading test
      
      * style-apply
      
      * Added attributes tests
      
      * Fix dialect init
      
      * style
      
      * fix typo
      
      * Fix merge errors
      
      * Include file with MLIR on
      8ef5b0ca
  2. 29 Oct, 2019 1 commit
    • Nagy Mostafa's avatar
      [MLIR] MLIR Compiler refactoring (#3786) · f143bb13
      Nagy Mostafa authored
      * Re-organize files. Create MLIR backend classes
      
      * WIP
      
      * Refactored. Code compiles
      
      * Moved context to Runtime class to outlive compilation and execution
      
      * style-apply
      
      * Base Runtime class. Few other modifications
      
      * Minor fixes
      
      * Fixed Runtime::run() to take type-erased pointer
      
      * renamed core compiler
      
      * rename backend compiler
      
      * rename runtime compiler
      
      * PR feedback
      
      * Fix build fails
      f143bb13
  3. 17 Sep, 2019 1 commit
  4. 30 Aug, 2019 1 commit
  5. 25 Jul, 2019 1 commit
    • Diego Caballero's avatar
      [MLIR] Fix naming convention in MLIR files (#3292) · a095c587
      Diego Caballero authored
      * [MLIR] Fix naming convention in MLIR files
      
      Add naming convention note per file to state which files should use
      nGraph naming convention and which MLIR naming convention and align
      naming convention in those files with such a note.
      
      * Remove m-prefix
      a095c587
  6. 10 Jun, 2019 1 commit
  7. 03 Jun, 2019 1 commit
  8. 02 Jun, 2019 9 commits
    • Diego Caballero's avatar
      [MLIR] Replace MatmulBiasOp with DotOp (#20) · 5867666f
      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.
      5867666f
    • Nagy Mostafa's avatar
      [MLIR] Move mlir related classes to MLIR namespace (#23) · 86bc31cc
      Nagy Mostafa authored
      * Move dialect and types to mlir namespace
      
      * PR fixes and some cleanup
      
      * Merge fix
      86bc31cc
    • Nagy Mostafa's avatar
      [MLIR] Use .td and tablegen to declare ng dialect ops (#21) · 6bb90e3c
      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
      6bb90e3c
    • Nagy Mostafa's avatar
      [MLIR] Move MLIR code into its own namespace. (#15) · e3c28fd2
      Nagy Mostafa authored
      * Use NGRAPH export macros instead of CPU
      
      * Move code to ngmlir namespace
      e3c28fd2
    • Nagy Mostafa's avatar
      [MLIR] Move MLIR to src/contrib/mlir (#16) · b19fa875
      Nagy Mostafa authored
      * Move MLIR to src/contrib/mlir
      b19fa875
    • Nagy Mostafa's avatar
      [MLIR] Move mlir code under runtime/mlir · d9dd03ce
      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
      d9dd03ce
    • Nagy Mostafa's avatar
      [MLIR] Mem manager (#9) · e941412e
      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.
      e941412e
    • Diego Caballero's avatar
      [MLIR] Add MatmulBias op with basic support for simple matmuls (#8) · ba735a80
      Diego Caballero authored
      The following test should work now:
      NGRAPH_MLIR_DUMP_ALL=1 NGRAPH_MLIR=1 test/unit-test '--gtest_filter=CPU.dot2d'
      ba735a80
    • Nagy Mostafa's avatar
      [MLIR] Initial PoC: NG dialect, dialect code-gen, dialect lowering to affine, no JIT yet · a5c99754
      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)
      a5c99754