1. 29 Aug, 2019 1 commit
    • Nagy Mostafa's avatar
      [MLIR] Fixes for cpu_fusion.validate_fuse_gru_inputs (#3511) · ef58667f
      Nagy Mostafa authored
      * WIP
      
      * Fix incorrect CK output adjustment
      
      * Bug fix and enroce sanity check
      
      * Change cycle search depth, and fix sanity check
      
      * cpu_fusion.validate_fuse_gru_inputs passes.
      
      * Fix as_single_output to be able to always create a GOE
      
      * minor fix. style-apply
      
      * Clean up debug msgs
      
      * Switch to backward cycle check
      
      * Enable failing test
      
      * PR fixes
      
      * Address feedback: Add fwd cycle checks. Make cycle checking depth configurable
      ef58667f
  2. 26 Aug, 2019 1 commit
    • Diego Caballero's avatar
      [MLIR] Disable three more tests with MLIR enabled. (#3496) · 1683e200
      Diego Caballero authored
      * [MLIR] Bump MLIR repo 8/20/2019
      
      MLIR_
      commit 0cdb20a6add19bc96c20dad28589a1e54e4d8469
      Author: Lei Zhang <antiagainst@google.com>
      Date:   Tue Aug 20 13:33:41 2019 -0700
      
          Add spv.specConstant and spv._reference_of
      
      LLVM:
      commit 3b9a27b6908040881dad394022f8c472c15c0784
      Author: Simon Pilgrim <llvm-dev@redking.me.uk>
      Date:   Tue Aug 20 17:54:37 2019 +0000
      
          Fix typo in comment. NFCI.
      
      * [MLIR] Disable three more tests with MLIR enabled.
      
      This PR disables validate_fuse_gru_inputs, reshape_layout_optimizations4
      and reshape_layout_optimizations5:
        1. trivial_in_place_relu_fail: It checks tensors pool offset. There is
           no memory pool in MLIR atm.
        2. validate_fuse_gru_inputs: It creates an infinite cycle in
           MLIR subgraph extraction pass (under investigation).
        3. reshape_layout_optimizations4/5: They fail due to CompiledKernel
           being not expected by CPULayout pass.
      
      * Disable cpu_quant_fusion.qconcat
      1683e200
  3. 21 Aug, 2019 1 commit
  4. 15 Aug, 2019 2 commits
    • Pruthvi's avatar
      LSTM MKLDNN integration for ONNX LSTM op (#3327) · e5d606b8
      Pruthvi authored
      * - Add graph pass method for onnx lstmcell rewrite with lstm cpu op
      - insert reshapes to keep the weights in ldigo format
      - test case for onnx LstmCell to CPU Lstm
      
      * fix typo
      
      * - check LSTMCell for the fused op decomposistion in the backend
      
      * - fix bug in onnx_lstm graph pass
      - passes unit test
      
      * style-fix
      
      * - fix compilation error
      - use IFCO gate ordering for bias
      
      *  - Skip LSTMCell to LSTM CPU fusion for peephole
      
      * - add comment && remove duplicate function
      
      * -use dynamic_pointer_cast to check for constant
      
      * - onnx bias will be of shape (2 * gates_count * hidden_size) bias of Wb and Rb are concatenated, we will split the bias, add and rearrange in order IFCO
      
      * - Use most derived LSTM ctor for pattern matching
      
      * - Style Fix
      
      * style fix
      
      * Address PR comments
      
      * - add support for graph pass (MKLDNN version > 1) for mapping LSTMCell -> LSTM CPU op
      
      * fix unit test failure for MKLDNN V1.0
      e5d606b8
    • Diego Caballero's avatar
      [MLIR] Disable CPU fusion + degug tracer tests in MLIR (#3442) · 5bbd199b
      Diego Caballero authored
      CPU fusion is disabled in MLIR since fused ops are not supported in
      nGraph dialect. CPU debug tracer test doesn't expect CompiledKernel ops
      generated for MLIR.
      5bbd199b
  5. 31 Jul, 2019 1 commit
  6. 23 Jul, 2019 2 commits
  7. 08 Jul, 2019 1 commit
  8. 03 Jul, 2019 1 commit
  9. 01 Jul, 2019 1 commit
  10. 19 Jun, 2019 1 commit
  11. 18 Jun, 2019 1 commit
  12. 14 Jun, 2019 1 commit
    • gaurides's avatar
      Fuse Dropout (#3006) · 8c38db04
      gaurides authored
      * Initial implementation
      
      * Added test case
      
      * Bug fix; Dropout with 2 outputs, WIP
      
      * Fixed in unit-testl; WIP for model
      
      * Nothing is working
      
      * Revert "Nothing is working"
      
      This reverts commit d3ff09bb7a0d0519ab70ac85f2e7f30721afea96.
      
      * Fixed unit-test; fusion with 2 outputs
      
      * Fix style check, file permissions
      
      * Changed input arg to Node
      
      * Fix order of declaration
      
      * Improved performance
      
      * some cleanup
      
      * Fixed CI error
      
      * Fixed review comments
      
      * Fix CI error
      
      * Remove unused variable
      
      * Fix other CI errors
      
      * Changed type
      
      * Fix style check
      
      * Add codegen code for Dropout
      
      * addressed PR feedback; will add codegen support later
      
      * Cleanup; change variable name
      
      * Support for use_seed
      
      * Add setter for use_seed
      
      * Add setter for use_seed
      
      * Fix CI error
      
      * Make use_seed as arg
      
      * Fix CI error
      
      * Fix CI error
      8c38db04
  13. 12 Jun, 2019 1 commit
  14. 08 Jun, 2019 1 commit
  15. 05 Jun, 2019 1 commit
  16. 02 Jun, 2019 2 commits
  17. 24 May, 2019 1 commit
    • Michał Karzyński's avatar
      [Fused] LeakyRelu op (#2919) · 5650e913
      Michał Karzyński authored
      * [Fused] LeakyRelu op
      
      * Add LeakyRelu to serializer
      
      * Add unit tests
      
      * Fix merge branch 'master' into mkarzyns/fused_leaky_relu
      
      * Change broadcasting rules to NumPy style
      
      * Remove std:: and ngraph:: prefixes
      
      * Rename CPU Runtime LeakyRelu to CPULeakyRelu
      
      * Style apply
      
      * Fix cpu_fusion.fuse_leaky_relu test
      
      * Use eigen's tanh in the fused sigmoid multiply kernel (#2946)
      
      * Merge branch 'master' into mkarzyns/fused_leaky_relu
      
      * Add LeakyRelu to Intel GPU backend op list
      
      * Add LeakyRelu to Intel GPU backend op list
      5650e913
  18. 23 May, 2019 2 commits
  19. 22 May, 2019 3 commits
  20. 13 May, 2019 1 commit
    • Scott Cyphers's avatar
      Fix clang compiler warnings (#2898) · b94a042d
      Scott Cyphers authored
      * Fix clang compiler warnings
      
      * Remove unintended file.
      
      * style
      
      * Not part of PR
      
      * Another extra closure ref
      
      * More warnings from merges
      
      * Lambda arg was used
      b94a042d
  21. 29 Apr, 2019 1 commit
  22. 26 Apr, 2019 1 commit
  23. 17 Apr, 2019 1 commit
    • gaurides's avatar
      DeconvBias (#2716) · 03f13e4b
      gaurides authored
      * deconv optimizations for dcgan
      
      * Added test cases
      
      * modified some tests, not working at this point
      
      * Removed temp code
      
      * fixes to get unit test to pass
      
      * Added node validation checks
      
      * Update mkldnn emitter to memory reuse design
      
      * Code cleanup
      
      * Fix to enable deconv select the right kernel
      
      * Fix file permissions
      
      * Disabled unit test cases
      
      * Remove unused variable
      
      * Address PR feedback
      
      * Removed dead code
      
      * Style check
      
      * removed dead code
      03f13e4b
  24. 16 Apr, 2019 1 commit
    • Jayaram Bobba's avatar
      Moves some fused convolution ops to core FusedOps (#2733) · 6b5016e5
      Jayaram Bobba authored
      * - Moves some fused convolution ops to core FusedOps
      - Adds support for decomposing and replacing multi-output FusedOps
      - Adds query callbacks to FusedOpDecomposition to check if a FusedOp is
        supported by a backend
      - Adds core fusion patterns for FusedOps
      -
      
      * style fix
      
      * Added comments on FOP_FUSIONS
      
      * gpu convolution 1d bug fix (#2741)
      
      * Fix bug with dex-only compilation and addressed PR comments
      6b5016e5
  25. 12 Apr, 2019 1 commit
    • Adam Procter's avatar
      Deprecate direct access to descriptor::Input and descriptor::Output (#2724) · 5490bae5
      Adam Procter authored
      * Add NodeInput and NodeOutput classes
      
      * Deprecate Node::get_inputs, Node::get_outputs, Node::get_output_inputs. Remove Node::get_input_from and Node::get_output_from
      
      * Privatize most fields of Node
      
      * Make deprecation of descriptor-munching classes optional
      
      * Review comments
      
      * Adapt ReshapeSinking to use raw pointers for NodeInput
      
      * Fix ZDTE (thought I had already done in this branch, weird); style
      
      * wip
      
      * Change get_node_outputs() and get_node_inputs() to return vectors
      
      * Updates after merge
      
      * Whoops, forgot to define these functions
      
      * {NodeInput,NodeOutput} -> {Input,Output}
      
      * Kill shared_ptr in Output
      
      * Move Input and Output into node.hpp
      
      * Templatize the underlying node (sub)type in Input and Output
      
      * Eliminate some get_input_* and get_output_* functions
      
      * Change get_outputs and get_inputs back to their original names; rename NGRAPH_DEPRECATE_IO_DESCRIPTORS to NGRAPH_DEPRECATE_OLD_NODE_APIS
      
      * Miscellaneous cleanup
      
      * More cleanup
      
      * Unbreak CPU build
      
      * Simplify unit tests
      
      * Make Node less friendly
      
      * Deprecate more get_output_* and get_input_* functions
      
      * A couple of PR comments
      
      * Make the deprecation stuff more generally available
      
      * Better comment
      
      * Be more consistent about [] vs. at
      5490bae5
  26. 11 Apr, 2019 1 commit
    • Louis Feng's avatar
      [Dynamic Shape] Moving BatchDot to Core Op (#2691) · cc8dd452
      Louis Feng authored
      * batch dot WIP.
      
      * cpu backend refactor and unit tests pass.
      
      * WIP.
      
      * batch dot interpreter impelementation.
      
      * minor clean up.
      
      * more clean up.
      
      * patching the gpu backends.
      
      * added more tests, fixes, etc.
      
      * fixed compile error.
      
      * renamed batch dot to batch matmul.
      
      * refactor WIP.
      
      * fixes some tests and formating.
      
      * more fixes.
      cc8dd452
  27. 09 Apr, 2019 1 commit
  28. 26 Mar, 2019 1 commit
  29. 21 Mar, 2019 1 commit
    • tsocha's avatar
      [ONNX] Enable Pad modes for ONNX pad operator (#2590) · f8146495
      tsocha authored
      * Add support for negative padding
      
      * Use std::bind in pad builder check
      
      * Add support for negative padding in CPU backend
      
      * Updated kernel to do pad+slice
      
      * Remove type conversion warnings
      
      * Fix review comments
      
      * Remove interior padding from core op and interpreter stuff
      
      * Update backends other than GPU for retirement of padding_interior
      
      * Skeleton of support for edge/reflect padding
      
      * Post-merge cleanup
      
      * Attempt reference implementation for EDGE.
      
      * Fix the edge-padding reference, and add some unit tests
      
      * Implement REFLECT padding ref; add tests
      
      * Fixes to the CPU stuff so it compiles now
      
      * Fix test
      
      * Add support for different pad modes
      
      * Restore a stub get_padding_interior function, and tweak some stale comments
      
      * Update ONNX importer to not supply interior padding value; add checks for padding-too-small for EDGE and REFLECT
      
      * Typo
      
      * Bop a warning
      
      * Attempt fix to INTELGPU backend
      
      * Attempt another fix to INTELGPU backend
      
      * Fix pyapi
      
      * Style apply
      
      * Add support for padding modes
      
      * Remove unnecesary node validation checks
      
      * Remove tests for minimal reflect and edge pad
      
      * Remove commented tests
      
      * Remove unnecesary Asserts
      
      * Little update of pad documentation
      
      * Monospace for pad_mode options
      
      * Revert "Remove tests for minimal reflect and edge pad"
      
      This reverts commit 81e4787ea47195b832cab1452dde698bc05776fe.
      
      * Revert "Remove unnecesary node validation checks"
      
      This reverts commit 7e68db7564f3c9b1fd40e7db1d1bda4e0677cad9.
      
      * Test only spatial dims
      
      * axis -> spatial axis
      
      * Fix typo
      
      * Style check
      
      * Update test
      
      * Add CoordinateDiff include
      
      * Remove pad_mode from tree visualization
      
      * Convert padding into NVShape
      
      * Skip failing tests on GPU
      
      * Revert mode change
      
      * Remove merge artifact
      
      * Rename pad kernel into pad_ref
      f8146495
  30. 18 Mar, 2019 1 commit
    • Robert Kimball's avatar
      Change floating point comparisons from == to all_close_f (#2620) · 56e160ba
      Robert Kimball authored
      * change float comparisons from == to all_close_f
      
      * style
      
      * address a few more direct float comparisons
      
      * add missing include
      
      * specify tightest tolerance for Broadcast and Reshape tests
      
      * Increased tightness of float testing
      
      Increased tightness of float testing via MIN_FLOAT_TOLERANCE_BITS parameter
      
      * style
      56e160ba
  31. 26 Feb, 2019 1 commit
    • Jayaram Bobba's avatar
      More quantized fusion patterns (#2480) · b8106133
      Jayaram Bobba authored
      * Add QuantizedConcat
      
      * Remove unused variables and add check for size of mins and maxes vector
      
      * Resolve conflicts
      
      * Merged with master and addressed some PR feedback
      
      * Maxpool and Avgpool fusions. Exclude Q from conv+relu fusion
      
      * Remove single-user check from fusions
      
      * Quantized concat fusion
      
      * workaround: do reshape sinking by default
      
      * style fix
      
      * check scales for QuantizedConcat
      
      * use compare_constants
      
      * remove stale comment
      
      * Handle all concat cases from arg size 2 to 6
      
      * addressed feedback
      b8106133
  32. 25 Feb, 2019 1 commit
    • Pruthvi's avatar
      Pruthvi/bi rnn (#2232) · a444f7a9
      Pruthvi authored
      * - Added reorder support for rnn weights_layer/iter
      
      * i) fixed compilation issues ii) working but still observing precision error
      
      * i) fixed failing rnn unit test for DEX ii) refactored workspace in RNN mkldnn emitter
      
      * i) added support for src reorder to TNC from NTC
      
      * reorder support for rnn output fron NTC to TNC
      
      * - added support for rnn weight reorder ldgoi -> ldigo
      - code refactor for lstm/rnn kernel in mkldnn emitter
      
      * - refactor rnn mkldnnn kernel, change variable names
      
      * fix RNN codegen kernel
      
      * disbale layer rnn fusion pass, to test CI
      
      * method to validate recurrent rnn inputs
      
      * add correlated macthes for Recurrent RNN PM
      
      * - simplify reorder logic for rnn_weights
      - fix graph pattern for fusing rnn cell across time steps
      
      * do weights reorders in rnn timesteps fusion
      
      * refactored LSTM graph pass
      
      * - Bug fix for finding the lstm inputs determenstically
      - Refactored LSTM graph pass to single pass
      - made changes to LSTM RNN time step fusion graph pass
      
      * - use replace_node instead of replace_output in Lstm_step_wise fusion graph pass
      
      * fix compilation error
      
      * Fix GNMT rnn fusion
      
      * check if the node is in use before replacing in RNN graph passes
      
      *  i) fix style ii) fix topo sort issue in RNN graph pass
      
      * style fix
      
      * fix bug in simplify_concat pass
      
      * replaces Lstm1 -> {GOE1, GOE2} -> {Slice1, Slice2} -> Concat -> Lstm2 with Lstm1 -> Lstm2
      
      * cse for convert layout
      
      * addressed PR comments
      
      * - optimization pass to remove  Lstm1 -> {GOE1, GOE2} -> {Slice1, Slice2} -> Lstm2
      - conditional fusing of LSTM cells only for the decoder
      
      * made changes to multi layer RNN fusion callback
      
      * fix asserts in RNN op
      
      * - added support to fuse layers when slc=dlc for RNN cells
      - bug fix on the sanity checks for RNN Op
      
      * - support RNN layer fusion till slc = dlc
      - bug fixes in multi layer rnn fusion call back
      
      * capture reshape in the RNN weights
      
      * Addressed PR comments
      
      * - added comments in multi layer PM call back
      - fuse only if slc == DLC across layers
      
      * restore deleted 3_lstm_cell_forward.json file
      
      * fix typo
      
      * fix failing unit tets
      
      * When processing in place slice, do not change the offset of the slice node if the argument pointer comes from function input.
      
      * Address PR feedback: process in place slice after propagating in place input.
      
      * Set INTERMEDIATE role before propagating in place input.
      
      * Do not add temporaries to the variable name map before propagating in place input in codegen.
      
      * Fix a bug in codegen.
      
      * Fix a bug in codegen slice.
      
      * reenable disabled rnn unit test
      
      * fix compiler error
      
      * - bug fix in the slicing logic for the layer fused rnn cell
      - fix failing rnn unit test
      
      * - Addressed PR comments
      - removed redundant checks from the rnn graph pass
      - simplified rnn call back replace node logic
      
      * - added new multilayer rnn *.json file
      - fix test case
      
      * [PRIVATE BRANCH] Style fixes (#2080)
      
      * Style fixes
      
      * change order of lstm gates
      
      * WIP bi rnn
      
      * [PRIVATE BRANCH] Jbobba/rnn fusion review (#2113)
      
      * Style fixes for single-layer RNN fusion
      
      * Style fixes to multi-layer RNN
      
      * added callback routine for bi-directional rnn
      
      * fix rnn op ctor, rnn mkldnn emitter to accomodate bi directional rnn
      
      * style fix
      
      * added helper function for rnn's to query direction and cell_type
      
      * fix clang error
      
      * - unit test case for bi rnn fusion
      - style fix
      
      * - updated bi-rnn graph pass to handle reverse and reverse_seq ops in the predicate
      - added bi-rnn inter v/s cpu unit test case
      - add support to in mkldnn_utils to create_md with tnc/ntc format
      
      * - added enum type to deduce rnn_type
      
      * Addressed PR comments
          - handle reshapes from {t, n, c} to {n, t, c} in the graph pass
      
      * fix style
      
      * fix clang error
      
      * fix style
      
      * i) move enum specific to rnn to seperate header
      a444f7a9
  33. 22 Feb, 2019 1 commit
  34. 11 Feb, 2019 1 commit
    • Jayaram Bobba's avatar
      Mixed-precision fusions (#2401) · 13b4966b
      Jayaram Bobba authored
      * CPUQuantFusion pass and some usions for converting mixed precision sub-graphs to int8 fused ops
      
      * - Added unit tests and misc bug fixes for mixed-precision fusions
      - Adjust fused sum_scale in quantization builders instead of mkldnn
        primitive creation
      13b4966b