1. 21 May, 2019 1 commit
    • Amy Zhuang's avatar
      Create mkldnn primitives at first iteration for codegen - part2 (#2859) · 9335e41c
      Amy Zhuang authored
      * Create mkldnn primitives at first iteration for CODEGEN.
      
       OPs: add, lstm, and rnn.
      
      *  OPs: batchnorm.
      
      *  OPs: concat and lrn.
      
      Remove dead code.
      
      * Skip in place concat, relu, reshape, and slice when building node_primitive_string_deps_index map.
      
      * Change NGRAPH_ASSERT to NGRAPH_CHECK.
      
      * Address PR Feedback.
      
      * Create mkldnn primitives at first iteration for CODEGEN.
       OPs: convertlayout, relu, leakyrelu, boundedrelu, sigmoid, softmax, slice.
      
      * Fix bugs.
      
      *  OPs: quantizedconcat.
      
      Check if there are descriptors before emitting code to read desc_file.
      
      *  OPs: convolution backward.
      
      Use macro to write mkldnn memory dims to generated file.
      
      *  OPs: MaxPoolWithIndices and MaxPoolWithIndicesBackprop.
      
      Add unit tests for MaxPoolWithIndices, MaxPoolWithIndicesBackprop, and MaxPoolBackprop.
      
      * Fix style error.
      
      *  OPs: AvgPoolBackprop and MaxPoolBackprop.
      
      Add unit test for AvgPoolBackprop.
      
      *  OPs: DeconvolutionBias.
      
      *  OPs: Quantize and Dequantize.
      
      *  OPs: QuantizedDot and QuantizedDotBias.
      
      * Use reference kernel for QuantizedConvolution for CODEGEN when mkldnn does not support the parameter types.
      Get scales for quantization ops in cpu_emitter.
      
      * Fix Windows build error: add CPU_BACKEND_API.
      
      * Use template for quantization ops.
      
      *  OPs: QuantizedMatmul.
      
      Emit referece kernel for QuantizedDot in CODEGEN.
      
      * Remove QuantizedDot from get_scale_index.
      
      * Address PR feedback.
      9335e41c
  2. 03 May, 2019 1 commit
  3. 30 Apr, 2019 1 commit
    • Amy Zhuang's avatar
      allow multiple thread safe calls to compiled function in DEX mode (#2717) · 8e798add
      Amy Zhuang authored
      * Implement thread safe calls.
      
      Create MKLDNN primitives on first iteratin for quantized_concat.
      
      * Add buffer_data to CPURuntimeContext.
      
      * Fix bugs.
      
      * Modify unit test.
      
      * Swap vectors of mkldnn primitive pointers for CODEGEN.
      
      * Fix a bug.
      
      * Address PR feedback.
      
      * Rename variables.
      
      * Update Gather, GatherND, and DeconvolutionBias.
      
      * Fix style error.
      
      Disable cpu thread_safe_calls test on Windows.
      8e798add
  4. 26 Apr, 2019 1 commit
  5. 18 Apr, 2019 1 commit
    • Pruthvi's avatar
      Fix Erf CPU Builder for int32 (#2773) · 6f0c8190
      Pruthvi authored
      * - pass tensor through reference in the lambad closure of cpu reference_erf kernnel
      - add Erf unit test case to verify codepath for int32 values
      
      * fix clang errors
      6f0c8190
  6. 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
  7. 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
  8. 05 Apr, 2019 1 commit
    • Amy Zhuang's avatar
      Use cpu kernel for constant folding. (#2538) · 3f017a1e
      Amy Zhuang authored
      * Use cpu kernel for constant folding.
      
      * Add default empty map.
      
      * Fix a bug.
      
      * Add new files.
      
      * Address PR feedback.
      
      * Check constant folding map before checking type for unary and binary ops.
      
      * Address PR feedback.
      
      * Address PR feedback.
      
      * Use all_close_f.
      
      Add relu unit test.
      
      Make changes for sqrt and pad.
      
      * Fix a bug.
      3f017a1e
  9. 29 Mar, 2019 1 commit
  10. 25 Mar, 2019 1 commit
    • Pruthvi's avatar
      Fallback to ref convolution for negative padding (#2640) · c6c2aafb
      Pruthvi authored
      * i) added support to handle default convolution kernels
      
      * - added test case for rotated convolution
      
      * added debug info for conv exception
      
      * disbale handling conv exception
      
      * WIP onnx unit test reproducer
      
      * - Fallback to reference kernel if its negative padding for convolution
      
      * - corrected the conditional check for -ve padding in conv
      c6c2aafb
  11. 21 Mar, 2019 1 commit
    • Pruthvi's avatar
      add method to conditional check for mkldnn version & use conv_auto (#2540) · 1c2e0a57
      Pruthvi authored
      * - add method to conditional check for mkl version
      - use conv_auto if feature is available
      
      * fix conditional check for mkl version
      
      * fix typo
      
      * - added funx to query mkldnn_version
      
      * WIP debug
      
      * -   added test case for conv winograd algorithm selection
      
      * i) style fix
      
      * - fix clang errors
      
      * - fix clang error ( clang has issue around conditional operator)
      - changes to mkldnn::utils conv_heuristics helper to return mkldnn:algorithm instead of bool value
      
      * - add right checks based on the choosen conv algorithm in the unit test
      
      * - utililty function to determine isa_type in unit test
      
      * - address PR comments
      - add unit test for conv_winograd and executes with CPU backend
      
      * i) fix style ii) remove unit test
      
      * Localize mkldnn_version() based decisions to mkldnn_utils
      1c2e0a57
  12. 18 Mar, 2019 2 commits
  13. 06 Mar, 2019 1 commit
  14. 05 Mar, 2019 1 commit
  15. 04 Mar, 2019 1 commit
    • Jayaram Bobba's avatar
      Extend compile API to take in PassConfig object (#2516) · a8bc57cb
      Jayaram Bobba authored
      * Extend compile API to take in PassConfig object
      
      * fix override warning
      
      * remove extra semicolon
      
      * cmake fixes to support cases where include_path has multiple directories
      
      * Help pybind find the overloaded compile methods
      
      * Limit compile-api exposed through PyBind (#2530)
      
      * clang-format
      
      * Remove setter for compilation mode to prevent post-init changes. Add compile-mode warning.
      
      * Removed pass_config include
      
      * fix merge
      a8bc57cb
  16. 01 Mar, 2019 1 commit
  17. 27 Feb, 2019 1 commit
    • Amy Zhuang's avatar
      Reuse memory for CPU backend. (#2238) · b277627a
      Amy Zhuang authored
      * Reuse memory for CPU backend.
      
      * Use NGRAPH_REUSE_MEMORY to enable memory reuse.
      
      * Add a test.
      
      * Move make_function to test_tools.cpp.
      
      * Add more comments.
      
      * Address PR Feedback: add a method to CPU backend.
      
      * *Add a member to CPUOpAnnotations to remove redundant code.
      
      *Overload compile function for CPU backend.
      
      * Move make_function out of test_tools.
      
      * Address PR Feedback.
      
      * Use modified liveness analysis in CPUMemoryAssignment pass.
      
      * Use lambda expression.
      
      * Fix style error.
      
      * Check if any user of the tensor has destructive io when building tensor alias map.
      
      * Fix a bug.
      
      * Check if tensor has multiple users.
      
      * Allow tensor alias for destructive oi node.
      
      * Update multiple_users_tensor set along the chain of in place ops.
      
      * No tensor alias if input is parameter or constant.
      
      * Use buffer sets in cpu memory assignment,
      tensors sharing the same memory buffer are put into the same set.
      
      * Add more checks and do not combine sets when allowing destructive oi.
      
      * Style fix.
      
      * Do no allow destructive oi if the input tensor uses function input memory.
      
      Update set label.
      
      * Add unit tests.
      
      * Style fix.
      
      * Get the correct size for memcpy when the input is padded.
      
      * Style fix.
      
      * Address PR feedback.
      
      * Address PR feedback.
      
      * Move make_function in cpu_test after #if 0 and before the disabled test.
      
      * Add utility functions.
      
      Use iterator.
      
      Rename variables.
      
      * Add pass attributes and move cpu memory assignment to common passes (#2504)
      b277627a
  18. 22 Feb, 2019 1 commit
  19. 15 Feb, 2019 1 commit
  20. 04 Feb, 2019 1 commit
    • Robert Kimball's avatar
      Windows support. (#2394) · 45a0fb47
      Robert Kimball authored
      * fix windows build
      
      * wip
      
      * mkldnn seems to build
      
      * address various errors building cpu backend with MSVC
      
      * wip
      
      * wip
      
      * Windows support.
      
          * Delete dependency of LLVM when building with MSVC.
      
      * Define EIGEN_HAS_CONSTEXPR when using MSVS.
      
      * Fix MSVC build errors.
      
          * Incorrect argument to 'decltype'. It is VC bug. Work around the
          error with rename the function into different name.
      
          * MINMAX issue in matmul_bias.cpp.
      
          * Correct TBB_LINK_LIBS on Windows.
      
      * Fix MSVC link errors.
      
          1. redefine problems in cpu_builder.obj and convert_layout.obj. It
          is because cpu_builder.hpp contains an implicit implement of
          function runtime::cpu::Builder::build for cpu::op::ConvertLayout.
          The fix is deleting the registration item in cpu_builder.cpp and
          using REGISTER_CPU_OP_BUILDER in convert_layout.cpp.
      
          2. Fix the dependent libraries path on Windows. It should be *.lib
          not *.dll when linking these libraries.
      
      * Set visibility for CPU backend to fix the MSVC linker error.
      
          MSVC complain that the .def file exceed the size limitatoin
          when using CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS. All the functions
          with CPU_BACKEND_API are used by unit test or nbench.
      
      * Fix unit test build errors on Windows.
      
          * backend_unary_elementwise.in.cpp: Use all_close_f to test case
          BACKEDND sqrt
      
          * cpu_fustion.cpp: Fix 'NUM_STEPS' cannot be implicitly
          captured because no default capture mode has been specified
      
          * cpu_test.cpp: Use portable setenv and unsetenv from misc.hpp.
      
          * tools.cpp: Use portable fpopen from misc.hpp.
      
          * misc.hpp/misc.cpp: Add new files to host misc functions that Linux and
          Windows using different implementation.
      
      * Make Debug mode work with MSVC.
      
      * style
      
      * fix line ending
      45a0fb47
  21. 03 Jan, 2019 1 commit
  22. 19 Dec, 2018 1 commit
  23. 08 Dec, 2018 1 commit
  24. 07 Dec, 2018 1 commit
    • Robert Kimball's avatar
      Backend API change pre-work (#2064) · e0933553
      Robert Kimball authored
      * change compile call to return Handle
      
      * make CPU require compile() before call()
      
      * fix unit tests to call compile() before call()
      
      * fix failing ops
      
      * update unit test
      
      * revert some changes
      
      * more fixups
      
      * more diff cleanup
      
      * a few more issues addressed
      
      * more fixes
      
      * update API
      
      * more updates
      
      * fix test_ops.py
      
      * fix
      
      * another attempt to fix
      
      * fix unit test
      
      * fix test error
      e0933553
  25. 21 Nov, 2018 1 commit
  26. 20 Nov, 2018 1 commit
    • Louis Feng's avatar
      Sigmoid layout bugfix (#2081) · 6e06cded
      Louis Feng authored
      * unit test for sigmoid layout.
      
      * fixed layout bug and added unit test.
      
      * same fix for cpu emitter.
      
      * removed unused vars.
      6e06cded
  27. 16 Nov, 2018 1 commit
  28. 14 Nov, 2018 1 commit
  29. 12 Nov, 2018 1 commit
  30. 09 Nov, 2018 1 commit
  31. 07 Nov, 2018 1 commit
    • Jayaram Bobba's avatar
      Jbobba/halide (#1971) · ba73e2b8
      Jayaram Bobba authored
      * Add missing halide dependency
      
      * Bug fix in halide op creation
      
      * Localize halide/llvm to cpu backend
      
      * Added comments
      
      * Pass NGRAPH_HALIDE to tests
      
      * Resolve merge conflicts
      ba73e2b8
  32. 22 Oct, 2018 1 commit
    • Jayaram Bobba's avatar
      IAT: Collapse dimensions around arithmetic reduction operations (#1763) · e765956a
      Jayaram Bobba authored
      * Collapse dimensions for arithmetic reduction ops to support faster kernels
      
      * Propagate in-place constants and allow in-place reshapes for more cases
      
      * style fix
      
      * Additional checks for parameter and constant to help backends that dont propagate in-place parameter and constant inputs
      
      * Allow non-destructive pass through onlyu if memory sharing is disabled
      
      * Address PR feedback
      
      * Bug fix for collapse dimensions in case of null reduction
      e765956a
  33. 12 Oct, 2018 1 commit
  34. 08 Oct, 2018 1 commit
  35. 29 Sep, 2018 1 commit
  36. 13 Sep, 2018 1 commit
    • Robert Kimball's avatar
      Handle unsupported op in nbench (#1531) · fe676f72
      Robert Kimball authored
      * add unsupported_op exception
      
      * unsupported_op test
      
      * add printout of unsupported op in model
      
      * fix GPU dispatcher check
      
      * fix test designation
      
      * catch exceptions on single file runs too
      
      * add unsupported_op exception where needed
      
      * remove unsupported_op class
      
      * add unassigned op exception
      
      * add unit test
      
      * catch unsupported op in nbench
      
      * add cpu test back
      
      * update all latest merges
      
      * mode change
      fe676f72
  37. 29 Aug, 2018 1 commit
  38. 13 Aug, 2018 1 commit
  39. 18 Jul, 2018 1 commit