- 31 Jul, 2019 1 commit
-
-
Sang Ik Lee authored
-
- 30 Jul, 2019 1 commit
-
-
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
-
- 29 Jul, 2019 1 commit
-
-
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
-
- 26 Jul, 2019 3 commits
-
-
nmostafa authored
-
Diego Caballero authored
-
nmostafa authored
-
- 25 Jul, 2019 1 commit
-
-
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
-
- 24 Jul, 2019 3 commits
- 23 Jul, 2019 4 commits
- 20 Jul, 2019 1 commit
-
-
nmostafa authored
-
- 19 Jul, 2019 1 commit
-
-
nmostafa authored
-
- 18 Jul, 2019 2 commits
-
-
nmostafa authored
-
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
-
- 17 Jul, 2019 1 commit
-
-
Pruthvi authored
* - templatize computing binary elementwise - added lowering support for Add, Sub, Multiply, Divide * - Added Support for Greater and less Op * -Add support for Minimum and Maximum * use edsc::intrinsics::select instead of terenary operator * Addressed PR comments * - return after the conditional check
-
- 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.
-
- 20 Jun, 2019 1 commit
-
-
nmostafa authored
-
- 19 Jun, 2019 1 commit
-
-
nmostafa authored
-
- 13 Jun, 2019 6 commits
- 10 Jun, 2019 3 commits
- 03 Jun, 2019 2 commits
-
-
nmostafa 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 6 commits
-
-
Diego Caballero authored
-
nmostafa authored
-
Diego Caballero authored
-
Nagy Mostafa authored
MLIR Compile only supported ops
-
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.
-