1. 01 Aug, 2019 13 commits
  2. 31 Jul, 2019 14 commits
  3. 30 Jul, 2019 7 commits
    • Sang Ik Lee's avatar
      Include missing header file. (#3339) · 30c7028f
      Sang Ik Lee authored
      30c7028f
    • Scott Cyphers's avatar
      Add Output support for a number of builders (#3297) · 9ebedbbf
      Scott Cyphers authored
      * Add Output support for a number of builders
      
      * ../src/ngraph/builder/autobroadcast.cpp
      
      * Remove some _values
      
      * Simplify
      
      * Simplify, add some more ops/builders
      
      * ONNX failures
      
      * Some GetOutputElement changes to help with Output<Node>
      
      * Convert some ops to use Output<Node> inputs
      
      * Review comments
      
      * Some more changes of nodes to outputs
      
      * Chane names for OutputVector helpers to avoid API change
      
      * Cleanup
      9ebedbbf
    • Scott Cyphers's avatar
      Some more changes of nodes to outputs (#3315) · 8b0a2d19
      Scott Cyphers authored
      * Some more changes of nodes to outputs
      
      * Chane names for OutputVector helpers to avoid API change
      8b0a2d19
    • Diego Caballero's avatar
      [MLIR] Bump MLIR repo to commit 26c683c, 07/29/2019. (#3310) · 81597f3a
      Diego Caballero authored
      * [MLIR] Bump MLIR repo to commit 59167c2, 07/25/2019.
      
      MLIR commit:
      Author: River Riddle <riverriddle@google.com>
      Date:   Wed Jul 24 16:41:11 2019 -0700
      
          NFC: Use ValueOfRange instead of T in Diagnostic::appendRange.
      
              For iterator_range, T is often the name of another iterator type
              and not the the value of the range.
      
      LLVM commit:
      Author: Marshall Clow <mclow.lists@gmail.com>
      Date:   Thu Jul 25 03:26:05 2019 +0000
      
          Implement change #4 of P1466: Change weekday to accept both 0 and 7
          as Sunday. Add accessors 'c_encoding' and 'iso_encoding' to provide
          different interpretations of the weekday. Remove 'operator unsigned'
      
      * style
      
      * Move MLIR/LLVM repos a bit more forward
      81597f3a
    • Adam Procter's avatar
      ConstantFolding for Not (#3326) · 5ece6de2
      Adam Procter authored
      * CF for Sign, and extend element type capabilities for unary arithop CF
      
      * CF for Ceiling and Floor
      
      * Update CPU CF builders
      
      * Update CPU CF builders
      
      * CF for Not
      
      * Add tests for new CPU CF folders
      
      * Add tests for recently added CPU CF functors
      
      * Add tests for non-CPU ceiling/floor CF
      
      * Unit tests
      
      * Add test for CPU folder
      5ece6de2
    • Adam Procter's avatar
      ConstantFolding for Ceiling and Floor (#3320) · 09952c0b
      Adam Procter authored
      * CF for Sign, and extend element type capabilities for unary arithop CF
      
      * CF for Ceiling and Floor
      
      * Update CPU CF builders
      
      * Update CPU CF builders
      
      * Add tests for new CPU CF folders
      
      * Add tests for recently added CPU CF functors
      
      * Add tests for non-CPU ceiling/floor CF
      
      * Unit tests
      09952c0b
    • Adam Procter's avatar
      Add tests for recently added CPU CF functors (#3328) · 831df41d
      Adam Procter authored
      * Add tests for new CPU CF folders
      
      * Add tests for recently added CPU CF functors
      831df41d
  4. 29 Jul, 2019 6 commits
    • Adam Procter's avatar
      ConstantFolding for Equal, Greater, GreaterEq, Less, LessEq, NotEqual (#3322) · bcaf32c4
      Adam Procter authored
      * CF for And and Or
      
      * CF support for comparison ops
      
      * Fix predicate for binary elementwise; add unit tests for non-arithmetic binops
      
      * Update CPU CF builders
      bcaf32c4
    • Robert Kimball's avatar
      Make validation a pass and add it after every pass by default (#3296) · c693cb7e
      Robert Kimball authored
      * Make validation a pass and add it after every pass by default
      
      * cleanup
      
      * update per review comments
      
      * Switch plaid to new API for disabling  pass validation
      
      * address review comment
      c693cb7e
    • Diego Caballero's avatar
      [MLIR] Enable affine dialect loop fusion (#3290) · aedd8c2e
      Diego Caballero authored
      * [MLIR] Enable affine dialect loop fusion
      
      Enable affine dialect loop fusion in nGraph pipeline. It also adds an
      opt flag to enable/disable it when ngraph-opt is in place. Fusion seems
      to work for simple cases. It wasn't able to fuse dot + add, though, at
      least in my test case. One example that worked:
      
      Input:
        %6 = alloc() : memref<2500x2500xf32>
        affine.for %i3 = 0 to 2500 {
          affine.for %i4 = 0 to 2500 {
            %7 = load %arg0[%i3, %i4] : memref<2500x2500xf32>
            %8 = load %0[%i3, %i4] : memref<2500x2500xf32>
            %9 = addf %8, %7 : f32
            store %9, %6[%i3, %i4] : memref<2500x2500xf32>
          }
        }
        %10 = alloc() : memref<2500x2500xf32>
        affine.for %i5 = 0 to 2500 {
          affine.for %i6 = 0 to 2500 {
            %11 = load %arg2[%i5, %i6] : memref<2500x2500xf32>
            %12 = load %0[%i5, %i6] : memref<2500x2500xf32>
            %13 = addf %12, %11 : f32
            store %13, %10[%i5, %i6] : memref<2500x2500xf32>
          }
        }
        %14 = alloc() : memref<2500x2500xf32>
        affine.for %i7 = 0 to 2500 {
          affine.for %i8 = 0 to 2500 {
            %15 = load %10[%i7, %i8] : memref<2500x2500xf32>
            %16 = load %6[%i7, %i8] : memref<2500x2500xf32>
            %17 = addf %16, %15 : f32
            store %17, %14[%i7, %i8] : memref<2500x2500xf32>
          }
        }
      
      Output:
        %8 = alloc() : memref<2500x2500xf32>
        affine.for %i3 = 0 to 2500 {
          affine.for %i4 = 0 to 2500 {
            %9 = load %arg2[%i3, %i4] : memref<2500x2500xf32>
            %10 = load %2[%i3, %i4] : memref<2500x2500xf32>
            %11 = addf %10, %9 : f32
            %12 = affine.apply #map2(%i3, %i4, %i3, %i4)
            %13 = affine.apply #map3(%i3, %i4, %i3, %i4)
            store %11, %0[%12, %13] : memref<1x1xf32>
            %14 = load %arg0[%i3, %i4] : memref<2500x2500xf32>
            %15 = load %2[%i3, %i4] : memref<2500x2500xf32>
            %16 = addf %15, %14 : f32
            %17 = affine.apply #map2(%i3, %i4, %i3, %i4)
            %18 = affine.apply #map3(%i3, %i4, %i3, %i4)
            store %16, %1[%17, %18] : memref<1x1xf32>
            %19 = affine.apply #map2(%i3, %i4, %i3, %i4)
            %20 = affine.apply #map3(%i3, %i4, %i3, %i4)
            %21 = load %0[%19, %20] : memref<1x1xf32>
            %22 = affine.apply #map2(%i3, %i4, %i3, %i4)
            %23 = affine.apply #map3(%i3, %i4, %i3, %i4)
            %24 = load %1[%22, %23] : memref<1x1xf32>
            %25 = addf %24, %21 : f32
            store %25, %8[%i3, %i4] : memref<2500x2500xf32>
          }
        }
      
      * Rename MLIR_LLVM_OPTIONS to NGRAPH_MLIR_OPTIONS
      
      Something like this works now:
      NGRAPH_MLIR_OPTIONS="--enable-affine-loop-fusion=false"
      
      * Disable loop fusion by default and fix typo
      aedd8c2e
    • Robert Kimball's avatar
      Merge pull request #3325 from NervanaSystems/nmostafa/mergefix · 862aa5fe
      Robert Kimball authored
      [MLIR] Fix bad merge on 2 MLIR changes
      862aa5fe
    • nmostafa's avatar
      Fix bad merge on 2 MLIR changes · c4dfca3b
      nmostafa authored
      c4dfca3b
    • Robert Kimball's avatar
      Merge pull request #3298 from NervanaSystems/nmostafa/recompile · fc9a7dea
      Robert Kimball authored
      [MLIR] Re-compile sub-graph once on first invocation
      fc9a7dea