- 30 Jul, 2019 3 commits
-
-
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 11 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
-
- 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 10 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
-
Scott Cyphers authored
* Convert some ops to use Output<Node> inputs * Remove duplicate validation
-
Scott Cyphers authored
* Some GetOutputElement changes to help with Output<Node> * Review comments
-
Nagy Mostafa authored
* Deallocate all temp tensors before return * style-apply
-
nmostafa authored
-
nmostafa authored
-
Pruthvi authored
* remove unique_ptr from allocator static allocation * - for default allocator return address of the static object on stack instead of returning ptr to dynamically allocated object * Revert "- for default allocator return address of the static object on stack instead of returning ptr to dynamically allocated object" This reverts commit 126b269cb298e6eb8b99b1b9a90d5aa7cf8fb948. * use raw pointer in set_host_memory_allocator * fix build error
-
- 25 Jul, 2019 7 commits
-
-
Adam Procter authored
* Finish moving things into test/backend * Update CODEOWNERS for moved file * Tweak GPU manifest for renamed test
-
nmostafa authored
-
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
-
nmostafa authored
-
Robert Kimball authored
[CMAKE] Change CODEGEN error on windows to be more grammatically correct
-
Michał Karzyński authored
-
Adam Procter authored
-
- 24 Jul, 2019 2 commits