- 31 Jul, 2019 10 commits
-
-
Adam Procter authored
-
Scott Cyphers authored
* Convert CPU ops to new form Remove obsolete sigmoid * Fix export * fix typo * typo
-
Robert Kimball authored
[Py] Added clamp operator to Python API
-
Michał Karzyński authored
-
Scott Cyphers authored
* Convert PlaidML ops to new form * style
-
Adam Procter authored
* Add CF for Gather * Style
-
Scott Cyphers authored
-
Adam Procter authored
* Move SlicePlan out of DynElimination, for reuse in ConstantFolding * Add CF support for Slice * Add CF for DynSlice * Add <algorithm> to slice_plan.cpp, to make Windows happy
-
Leona C authored
-
Adam Procter authored
* Update Reshape CF to support all ETs * Add CF for DynReshape * Add CF for Transpose * Add #include <numeric>, for std::iota * style, oops
-
- 30 Jul, 2019 7 commits
-
-
Sang Ik Lee authored
-
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
-
Scott Cyphers authored
* Some more changes of nodes to outputs * Chane names for OutputVector helpers to avoid API change
-
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
-
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
-
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
-
Adam Procter authored
* Add tests for new CPU CF folders * Add tests for recently added CPU CF functors
-
- 29 Jul, 2019 12 commits
-
-
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
-
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
-
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
-
Robert Kimball authored
[MLIR] Fix bad merge on 2 MLIR changes
-
nmostafa authored
-
Robert Kimball authored
[MLIR] Re-compile sub-graph once on first invocation
-
Robert Kimball authored
-
Robert Kimball authored
Changes to get allow NNP to pass tests
-
Robert Kimball authored
-
Robert Kimball authored
-
Robert Kimball authored
-
Ewa21 authored
-
- 28 Jul, 2019 4 commits
-
-
Scott Cyphers authored
-
Adam Procter authored
* CF for Sign, and extend element type capabilities for unary arithop CF * Update CPU CF builders
-
Robert Kimball authored
-
Robert Kimball authored
-
- 27 Jul, 2019 3 commits
-
-
Adam Procter authored
* CF for Sum * style
-
Adam Procter authored
* CF for Concat * Switch from Nodes to Inputs/Outputs
-
Scott Cyphers authored
-
- 26 Jul, 2019 4 commits
-
-
Sang Ik Lee authored
-
nmostafa authored
-
gcwenger authored
API is synchronous per thread and threads are coordinated so that we know when we hit the last iteration everything is done. Using join() to gate end of iterations was introducing too much overhead to timing as verified via checking traces.
-
Diego Caballero authored
-