- 03 Jun, 2019 3 commits
-
-
Scott Cyphers authored
-
Scott Cyphers authored
* Support for no-arg op construction * Add a-ops. * Two const init variations to try to solve windows link error * Try export for windows * Create outputs as needed, test * Remove attribute helpers * another windows try * windows * windows * Partial node cleanup * Review comments Node destruction that doesn't blow out the stack on deep graphs * Review comments * Update src/ngraph/node.hpp Co-Authored-By: Adam Procter <adam.m.procter@intel.com> * Have huge test check that nodes were deleted * Switch constructors to use Output instead of Node * Review comments * Add some comments
-
Diego Caballero authored
-
- 02 Jun, 2019 28 commits
-
-
Diego Caballero authored
-
nmostafa authored
-
Diego Caballero authored
-
Diego Caballero authored
This patch introduces tablegen definitions for element-wise reduction operations (only definitions, not building/lowering code). This includes argmin, argmax, min, max, sum, prod, all and any. From the design point of view, a single base class seems to be enough to cover all the common ground of these operations. A different base class will be necessary for avg pool reduction operations.
-
Nagy Mostafa authored
* Improve verification for unary, binary, cmp and select ops. Refactor .td file to enable that.
-
Nagy Mostafa authored
MLIR Compile only supported ops
-
Diego Caballero authored
Element type was not lowered.
-
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.
-
Diego Caballero authored
* [MLIR] Replace MatmulBiasOp with DotOp We disable CPUFusion if MLIR is enabled to avoid CPU specific ops to be introduced for now.
-
Nagy Mostafa authored
* Upgrade MLIR. Several code fixes based on API changes * Fixes due to DialectConv API changes * style-apply * PR fixes
-
Diego Caballero authored
MLIR is now initialize once once in CPU backend.
-
Nagy Mostafa authored
* Move dialect and types to mlir namespace * PR fixes and some cleanup * Merge fix
-
Nagy Mostafa authored
-
Nagy Mostafa authored
* Enable module verification. Fix FakeInput result type to memref * style-apply
-
Nagy Mostafa authored
* Initial td file. Cmake changes * Move all ops to .td file. * Added few more opcodes to show-case. Fixed PR feedback * Remove NG_ prefix of opcode records. Some fixes * Added some doc * Adding back NG prefix * Bug fix in MLIR gen
-
Nagy Mostafa authored
-
Diego Caballero authored
This patch leverages CompiledKernel to delimit sub-graphs to be compiled with MLIR. It introduces a pass that creates a CompiledKernel for the whole function (for now) and changes MLIRCompiler to align with this new approach.
-
Nagy Mostafa authored
* Use NGRAPH export macros instead of CPU * Move code to ngmlir namespace
-
Nagy Mostafa authored
* Move MLIR to src/contrib/mlir
-
Diego Caballero authored
This patch enables LLVM optimizations at -O3 level.
-
Diego Caballero authored
We want to use ComputedKernel for any target to delimit sub-graphs to be compiled and executed with MLIR.
-
Nagy Mostafa authored
* Create MLIR as cmake external project. Clone and build via ngraph cmake * Moved code and enabled compilation. Need to clone and build MLIR/LLVM during cmake step, so find_package can work * clone and build llvm/mlir during configuration. Compiles now. Needs more testing * Force DEX only if MLIR is ON * Remove extra cmake file. Style-apply * Remove redundant files in cpu/mlir * Update CODEOWNERS. Check for ninja and fail if not found * Fixing post merge issues
-
Nagy Mostafa authored
* Implements a simple memory manager that just does malloc for now. Pointers are freed during cleanup. * Enable JIT call-back to memory manager to allocate temps. * Memory manager pointer is passed to the JIT'ed code upon invocation. That makes the code re-entrant from different threads in case the code is shared among identical sub-graphs that are executed in parallel.
-
Diego Caballero authored
The following test should work now: NGRAPH_MLIR_DUMP_ALL=1 NGRAPH_MLIR=1 test/unit-test '--gtest_filter=CPU.dot2d'
-
Diego Caballero authored
-
Nagy Mostafa authored
* Link MLIR static libs to cpu backend * Use LLVMConfig.cmake * Initial commit. Link fails with undefined reference to typeinfo for mlir::Dialect * Added AddOp * initial compiler class * Initialize module/function, and map tensors to arguments * Code compiles. Moved MLIR building to correct DEX handler * NGDialect code-gen working * Use vector instead of sets for i/o tensors. Use functor in executor * Misc fixes * style-apply * WIP: Adding support for dialect lowering. * WIP: Lowered to affine. Crash on constant ops have side effects in Constant Folding * Fixed missing whole package linkage. * Removed fake instruction and update func type * Enable lowering to LLVM dialect and IR * Made loop nest builder handle any rank * Fixes per PR feedback. Major ones: - Removed ngdialect namespace - renamed dialect classes to start with NG prefixwq:w * Add unreachable assert * Add reading of LLVM options from an env var MLIR_LLVM_OPTIONS (#5)
-
Jayaram Bobba authored
Avoid negative values in int64 initialization for cases where int64 parameters are used as indices (#3004)
-
- 31 May, 2019 6 commits
-
-
Nagy Mostafa authored
* Link MLIR static libs to cpu backend * Use LLVMConfig.cmake
-
Robert Kimball authored
* handle case where a node's output is connected multiple inputs of another node * fix creation of the FunctionCall to have the correct outputs * fix per review comment
-
Sang Ik Lee authored
* Cleanup how compile flags set and used by nGraph and external projects. Set C++11 through CMake and pass it down to external projects. Prefer CMake variables such as CMAKE_POSITION_INDEPENDENT_CODE and CMAKE_CXX_STANDARD instead of explicitly setting compiler dependent flags. Create json compilation database for external projects. CMAKE_CXX_FLAGS is used as common global options for nGraph and external projects. add_compile_options() is used for local options for current and sub directories. add_definitions() is used for setting definitions for current and sub directories. Note: Global options are not passed down to some external projects. Note: mkl-dnn resets CMAKE_CXX_FLAGS internally. Note: TBB and MLSL are not CMake based. Noet: Eigen and json is header only library. * Fix error. * Fix error. (second attempt) * Cleanup code. * Allow check for undefined macro. * Try to fix cldnn issue. * Set type for CMake arguments. * Pass C++ standard to protobuf. * Pass C++ standard down to TBB. * Change how Clang specific flags are handled. * Fix error. * Workaround for compile error on Baidu's PDPD docker. * Fix windows build error.
-
Chris Sullivan authored
-
Rob Earhart authored
-
Sang Ik Lee authored
-
- 30 May, 2019 2 commits
-
-
Jayaram Bobba authored
* Initial implementation of implicit broadcasting for eltwise ops. Only Add supported * Addressed PR feedback * cleanup * Rename Bcast to Broadcast * Autobroadcasting support for rest of elementwise ops * Serializer support for autobroadcast * Added missing autob serialization for Minimum * Added execution unit tests and more op types to implicit broadcast elimination * Addressed PR feedback * Fixes windows build issue * RVO optimization per PR feedback
-
Robert Kimball authored
* serialize constant faster * more speedup
-
- 29 May, 2019 1 commit
-
-
Adam Rogowiec authored
* Draft of FakeQuantize operation along with UTs. * Add FakeQuantize to implemented operators on IGPU. * Get back FakeQuantize op case to switch. * Fix compilation errors. * Skip test for INTERPRETER backend and disable type_prop tests. * Initial implementation covering the most basic case * Cleanup of fake_quantize_with_clip UT * Reformat the cpu unit tests manifest and unlock anothe fake quant UT * Handle the clipping case by subtracting input_low from quantization input * Clip the input data before quantization to avoid Selects * UT manifest fix * Obsolete comment removed * Code formatting * Broadcast input data for non-scalar in/out params * Code formatting * Enable the type prop tests for FakeQuantize * Dequant the data without using the Dequantize op (fixes an edge case)
-