1. 27 Feb, 2019 5 commits
    • Robert Kimball's avatar
      rename and document the node name methods (#2490) · c571b7a7
      Robert Kimball authored
      * rename and document the node name methods
      
      * address more references to renamed methods
      
      * fix compile error
      
      * fix build error
      c571b7a7
    • 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
    • Sergey Shalnov's avatar
      6d9bc696
    • Robert Kimball's avatar
      Function call working (#2472) · 84167659
      Robert Kimball authored
      * function call working
      
      * fix compile error
      
      * fix compile error
      
      * add attribute support to plot_graph
      
      * fix build error
      
      * fix merge error
      
      * better colors for FunctionCall op
      84167659
    • Ayan Moitra's avatar
      Unit tests for relevant resnet50 integer ops (#2456) · 86394f10
      Ayan Moitra authored
      * Int unit tests that fail with bfloat
      
      * move tests out of single file
      
      * style
      
      * Incorporate Bob's comments
      
      * edits
      
      * Incorporate comments
      
      * style
      
      * edits
      
      * Add failing test to intel gpu manifest
      
      * comments incoprorated
      86394f10
  2. 26 Feb, 2019 5 commits
    • 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
    • Adam Rogowiec's avatar
      [ONNX] GlobalLpPool operator (#2476) · d357cb92
      Adam Rogowiec authored
      * Utility functions for calculating Lp norm.
      
      * Use functor object as a reduction operation.
      
      * Use new api of make_ng_reduction_op.
      
      * Use utility norm functions for reduction operations.
      
      * Onnx GlobalLpPool operator.
      
      * Ensure correct shapes after lp_norm reduction.
      
      * Remove unused function overload.
      
      * Fix shapes and tensor types.
      
      * Unit tests.
      
      * Update comments.
      
      * Update supported ops status table.
      
      * Fix: take absolute value of input tensor elements.
      
      * UT: with odd value p-norm.
      
      * Fix: move taking abs value into respective lp-norm functions.
      
      * Fix clang -Wdocumentation-unknown-command error.
      
      * Update supported op status table with new Jira ticket for Erf op.
      
      * Update supported_ops status table.
      
      * Update interface of make_ng_reduction_op - accept std::function object.
      
      * Update to use new make_ng_reduction_op api.
      
      * Remove unused header.
      
      * Fix errors on CentOS.
      d357cb92
    • Rob Earhart's avatar
      Convert PlaidML Tile op to generic ngraph passthrough op (#2361) · cf33669b
      Rob Earhart authored
      * Add a direct-to-Tile op
      
      * Disable dequantize_dynamic_offset
      
      * Add missing Py op defn
      
      * Generic passthrough op; serialization
      
      * Appease Linux builds
      
      * Add gpu handlers
      
      * Disable floor_int32 for now
      cf33669b
    • Adam Rogowiec's avatar
      [ONNX] Enhance LSTM support. (#2408) · 6e6c8af4
      Adam Rogowiec authored
      6e6c8af4
    • Tomasz Dołbniak's avatar
  3. 25 Feb, 2019 2 commits
    • Sang Ik Lee's avatar
      Update mkl-dnn build script. (#2487) · 65ac0e68
      Sang Ik Lee authored
      Update TBB build script for Windows.
      
      Fix typo.
      
      Fix incorrect omp lib name on Windows.
      
      Fix incorrect tbb.dll path on Windows.
      
      Make LIBRARY and ARCHIVE output directory consistent.
      
      Function missing on Windows.
      
      Update test::util::all_close() to fix compilation issue on Windows
      
      Export CPU_Executable on Windows.
      
      Change nbench path for unit-test on Windows.
      
      Change copy to copy_if_different.
      
      Install CPU backend on Windows.
      
      Disable tools test on Windows.
      
      Disable two failing unit test on Windows CPU.
      
      Fix incorrect CPU backend install path on Windows.
      65ac0e68
    • 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
  4. 22 Feb, 2019 3 commits
  5. 21 Feb, 2019 1 commit
  6. 20 Feb, 2019 2 commits
  7. 19 Feb, 2019 1 commit
    • tsocha's avatar
      [ONNX] Enable OneHot operation (#2448) · a6be6ea3
      tsocha authored
      * [ONNX] Enable OneHot operation
      
      * Add UT
      
      * Style check
      
      * Change converts
      
      * Change assert messages
      
      * Update comments
      
      * Update onehot.cpp
      a6be6ea3
  8. 18 Feb, 2019 1 commit
  9. 15 Feb, 2019 1 commit
  10. 13 Feb, 2019 4 commits
  11. 12 Feb, 2019 2 commits
    • Tomasz Dołbniak's avatar
      [ONNX] Sign operator support (#2412) · adfe479a
      Tomasz Dołbniak authored
      * [ONNX] Add support for ONNX sinh op
      
      * [ONNX] Test the sinh op and improve an error msg about not supported op version
      
      * [ONNX] Fix the failing tests by moving sinh to opset 1
      
      * [ONNX] Apply clang-format to fix failing CI builds
      
      * [ONNX] Add and test ONNX cosh op
      
      * [ONNX] Add and test ONNX cosh op
      
      * [ONNX] Add and test ONNX sign op
      
      * [ONNX] Test the sign operator with more challenging values
      
      * [ONNX] Update of supported ops documentation table
      adfe479a
    • tsocha's avatar
      [ONNX] Add null node. (#2386) · 5b63a3c7
      tsocha authored
      * [ONNX] Add null node.
      
      Optional inputs in ONNX standard are represented by empty string.
      We need a placeholder to keep information which inputs are not provided.
      
      * Rename class null_node -> NullNode
      
      * Remove unnecesary validate_and_infer_types method
      
      * Add <memory> header
      
      * Change name != "" -> !name.empty()
      
      * Change constructor
      
      * Little description
      
      * Change node type in NullNode
      
      * Add is_null() method
      
      * Docstring
      
      * Add UT
      
      * Use override
      
      * Style check
      
      * Update null_node.cpp
      5b63a3c7
  12. 11 Feb, 2019 4 commits
    • Sandeep's avatar
      add OpenMPI support besides MLSL (#2353) · 08c4c57c
      Sandeep authored
      * quick fix to add openmpi as default
      
      * add finalize to distributed class & use unit test
      
      * use intel mlsl github link
      
      * apply style
      
      * address a few comments
      
      * fix test
      
      * update nbench cmake
      
      * remove extras
      
      * fix a bug
      
      * add counter to finalize and cleanup
      
      * test ci error
      
      * address mlsl ci error
      
      * update flag names, as mentioned in pr comment
      
      * revert back the link to mlsl repo and tag
      
      * add flag to finalize
      
      * apply style
      
      * debug with info
      
      * delete when flag is true
      
      * add distributed setup class works, tests pass
      
      * fix style
      
      * remove extra instance
      
      * disable the test due to a bug
      
      * change flag to ompi
      
      * remove the dependency of setting NGRAPH_DISTRIBUTED_ENABLE flag
      
      * cleanup
      
      * change extern to static
      
      * remove the option NGRAPH_DISTRIBUTED_ENABLE setting this flag
      
      * formatting
      
      * update flags not catched by ci
      
      * make unique pointer
      
      * remove unused bool, fix clang error
      08c4c57c
    • 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
    • Sergey Shalnov's avatar
      IntelGPU backend: Slice operation datatypes fix (#2414) · 2a41d7b3
      Sergey Shalnov authored
      * IntelGPU backend: Slice operation datatypes fix
      
      * e correct type for int64_t
      2a41d7b3
    • Michał Karzyński's avatar
      [ONNX] Support for initializers without corresponding inputs (#2406) · 2d9a974c
      Michał Karzyński authored
      * [ONNX] Move make_ng_constant to Tensor class
      
      * [ONNX] Add workaround for initializers without corresponding inputs
      
      * Fix malformed test models
      
      * clang-format
      
      * Avoid creating multiple constants
      
      * Code review comments
      2d9a974c
  13. 08 Feb, 2019 4 commits
  14. 05 Feb, 2019 1 commit
  15. 04 Feb, 2019 2 commits
    • 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
    • Robert Kimball's avatar
      The General Purpose graph splitting is no longer used (#2391) · 1efd0bfd
      Robert Kimball authored
      * remove general splitting code. New code in hybrid transformer.
      
      * more cleanup
      1efd0bfd
  16. 02 Feb, 2019 1 commit
    • Pruthvi's avatar
      Pruthvi/fix input matrix fusion (#2381) · 917efb94
      Pruthvi authored
      * -   check to verify if the data_slices shares the same weights
      
      * add the serialized graph
      
      * - explicitly fuse the data slices, so all the parameter partitioned by slices are in contigous memory location
      - fixes all the failing test cases
      917efb94
  17. 01 Feb, 2019 1 commit