1. 21 Feb, 2020 2 commits
    • Diego Caballero's avatar
      [MLIR] Enable bare ptr calling convention (#4336) · e1d9ee66
      Diego Caballero authored
      * [MLIR] Update MLIR repo
      
      * Nagy's fix
      
      * Changes related to mlir-opt
      
      * Update MLIR commit
      
      * [MLIR] Enable bare ptr calling convention
      
      This PR adds a flag to enable the bare pointer calling convention
      in LLVM lowering pass.
      
      * Update MLIR commit and callbacks.
      
      * Disable 'noalias' attribute.
      
      It will be re-introduced in a follow-up commit.
      
      * Remove '__mlir' prefix in callback test
      
      * Address feedback
      
      * Fix EDSC includes
      
      * Move MLIR repo forward
      
      * Update type converter code
      
      * Address feedback
      
      * Enable 'noalias' code
      
      * Address feedback
      Co-authored-by: 's avatarAmy Zhuang <amyzhuang97@gmail.com>
      Co-authored-by: 's avatarSang Ik Lee <sang.ik.lee@intel.com>
      e1d9ee66
    • Diego Caballero's avatar
      [MLIR] Update MLIR repo (#4335) · e5258c0a
      Diego Caballero authored
      * [MLIR] Update MLIR repo
      
      * Nagy's fix
      
      * Changes related to mlir-opt
      
      * Update MLIR commit
      
      * Update MLIR commit and callbacks.
      
      * Disable 'noalias' attribute.
      
      It will be re-introduced in a follow-up commit.
      
      * Remove '__mlir' prefix in callback test
      
      * Address feedback
      
      * Fix EDSC includes
      
      * Move MLIR repo forward
      
      * Update type converter code
      
      * Address feedback
      Co-authored-by: 's avatarAmy Zhuang <amyzhuang97@gmail.com>
      e5258c0a
  2. 21 Jan, 2020 1 commit
  3. 17 Jan, 2020 1 commit
    • Nagy Mostafa's avatar
      [MLIR] Enable lowering of GroupConv in MLIR CPU backend (#4102) · 8e46ff86
      Nagy Mostafa authored
      * WIP
      
      * WIP
      
      * Refactored existing convolution
      
      * Add Channel and num of filters bounds parameters to helper
      
      * Works on unit-tests. v1 op gets converted and breaks
      
      * Fixed group conv with groups in filters shape. Tests pass
      
      * style
      
      * add LIT tests
      
      * Switch outer loop to affine loop
      
      * re-org code
      
      * PR fixes
      
      * Revert ops.td
      
      * PR fixes
      8e46ff86
  4. 16 Jan, 2020 1 commit
    • Amy Zhuang's avatar
      [MLIR] Use call back for MatMul. (#3838) · c737a573
      Amy Zhuang authored
      * [MLIR] Use call back for MatMul.
      
      * Use callback for Gemm.
      
      * Use mkldnn callback for Softmax.
      
      * Address PR feedback.
      
      * Fix merge errors.
      
      * Change to tail allocation struct.
      
      * Use mkldnn callback for AvgPool.
      
      * Add callbacks for AvgPoolBackprop, MaxPool, and MaxPoolBackprop.
      
      * Fix merge errors.
      
      * Use UnrankedMemRefType for callbacks.
      
      * Address PR feedback.
      
      * Cleanup.
      
      * Address PR feedback.
      
      * Fix a bug.
      
      * Use global variable to hold attributes.
      
      * Convert layout if needed for pooling.
      
      * Address PR feedback.
      
      * Add header.
      
      * Address PR feedback.
      
      * Update Copyright to 2017-2020.
      
      * Address PR feedback.
      Co-authored-by: 's avatarScott Cyphers <diyessi@users.noreply.github.com>
      c737a573
  5. 14 Jan, 2020 1 commit
    • Nagy Mostafa's avatar
      [MLIR] In-place memory optimization for elt-wise and concat ops. (#3832) · 6de4893b
      Nagy Mostafa authored
      * AliasMap WIP
      
      * Added liveness info
      
      * WIP
      
      * WIP: Tests
      
      * WIP: LIT tests
      
      * Added knobs for mem optimization pass. More LIT tests
      
      * Revert affine_lowerer change
      
      * More elaborate comment
      
      * Minor fixes
      
      * style-apply
      
      * Rename liveness
      
      * Switch to Analysis framework
      
      * Fix optimization conditions
      
      * Remove LIT test
      
      * style
      
      * Switch to equivalence relationship impl of non-alias relationship
      
      * refined comment
      
      * Switch non-alias to equivalence relationship
      
      * Fix bad merge
      
      * Adding tests. WIP
      
      * Added buffer size tracking and unit-tests
      
      * Added LIT and unit-tests
      
      * Turn optimization ON
      
      * style
      
      * fix unit-tests
      
      * Fix useCount
      
      * Fix copyright and typo
      
      * Refine few comments, remove new lines
      
      * style fix
      Co-authored-by: 's avatarScott Cyphers <diyessi@users.noreply.github.com>
      Co-authored-by: 's avatarSang Ik Lee <sang.ik.lee@intel.com>
      6de4893b
  6. 03 Jan, 2020 1 commit
    • Pruthvi's avatar
      [MLIR] Affine lowering support for Comparison Ops (#3872) · 9a01762a
      Pruthvi authored
      * Affine lowering support for
          1) GreaterEq
          2) LessEq
          3) Equal
          4) NotEqual
      
      * - cast result op from i1 to i8 for comparision operators
      
      * Addressed PR comments
      
      * Style fix
      
      * - style check
      - use select instead of zero_extendi durinng CompOp lowering
      
      * - fix style
      - use createOneConstant and createZeroConstant helpers in select intrinsic
      
      * Use NG_U8_TYPE_ID for BooleanType in ngraph dialect
      
      * Diable CE and Softmax unit test in MLIR
      
      * - LIT parser test for comparision ops
      
      * - Affine dailect LIT tests for Comparision Ops
      
      * Address PR feedback
      
      * fix typo
      
      * - use `cast` to deduce element Type
      - add more strict type checking to LIT Test
      
      * fix CHECK label's for comparision ops
      
      * Use UInt8 in verification logic for CMP op's
      
      * - use UInt8 for the resultOp verification Logic in CMP op
      - fix unit test failures
      9a01762a
  7. 27 Nov, 2019 1 commit
  8. 10 Oct, 2019 1 commit
  9. 30 Sep, 2019 1 commit
    • Diego Caballero's avatar
      [MLIR] Improve gather op lowering (#3667) · 3aa4db1d
      Diego Caballero authored
      * [MLIR] Add support for parsing nGraph tensor type
      
      Initial commit that enables nGraph parsing. It's needed for testing.
      
      * [MLIR] Enable nGraph dialect in ngraph-opt
      
      This PR registers nGraph dialect in ngraph-opt and prepares
      nGraph lowering pass for LIT testing, fixing all the related issues.
      Among other things, lowering pass has to be turned into a function pass,
      dead argument in constructor was removed and `convert-ngraph-to-affine`
      flag was added.
      
      * Fix issue with function name and multiple functions
      
      * Extend module_function.mlir lit test
      
      * [MLIR] Add support for parsing nGraph element types
      
      It introduces initial support for parsing nGraph signed/unsigned
      integer and floating point data types.
      
      * [MLIR] Improve gather op lowering
      
      This PR interchanges indices and param loops in gather lowering so
      that a better memory access patter is generated. Fusion of gather
      with other ops is also observed with this change.
      3aa4db1d
  10. 28 Sep, 2019 1 commit
    • Diego Caballero's avatar
      [MLIR] Enable nGraph dialect in ngraph-opt (#3657) · 9db8f874
      Diego Caballero authored
      * [MLIR] Add support for parsing nGraph tensor type
      
      Initial commit that enables nGraph parsing. It's needed for testing.
      
      * [MLIR] Enable nGraph dialect in ngraph-opt
      
      This PR registers nGraph dialect in ngraph-opt and prepares
      nGraph lowering pass for LIT testing, fixing all the related issues.
      Among other things, lowering pass has to be turned into a function pass,
      dead argument in constructor was removed and `convert-ngraph-to-affine`
      flag was added.
      
      * Fix issue with function name and multiple functions
      
      * Extend module_function.mlir lit test
      
      * Improve module_function.mlir test
      
      Remove ngraph to affine dialect conversion since we just need to verify
      that we can parse and print modules and functions.
      Add verification for parsing the printed code.
      
      * [MLIR] Add support for parsing nGraph element types (#3665)
      
      * [MLIR] Add support for parsing nGraph element types
      
      It introduces initial support for parsing nGraph signed/unsigned
      integer and floating point data types.
      
      * Improve LIT tests
      
      Test parsing and printing of types separately from lowering to affine
      since these tests will evolve differently, particularly for tensor
      types.
      
      * Missed file
      
      I left this file behind in the previous commit
      9db8f874