1. 14 Dec, 2017 1 commit
    • Nick Korovaiko's avatar
      Toward removing tuples and m_arguments (yuge rebase and fixes) (#301) · fce3c524
      Nick Korovaiko authored
      * tuple -> xla_tuple (+headers)
      
      xla_get_tuple_element
      
      get_tuple_element headers
      
      adding get_tuple_element + fixes
      
      get_tuple_element
      
      XLAFunction; breaks tests
      
      compiling libngraph.so w/ XLAFunction and Function; fixing tests is next
      
      build & test fixes
      
      formatting
      
      m_arguments -> get_arguments (first step to hide m_arguments)
      
      removing some get_arguments
      
      get_arguments -> get_arguments_DEPRECATED
      
      more DEPRECATED
      
      formatting
      
      m_arguments no more! at least technically
      
      halfway
      
      tests pass
      
      xla_function.cpp/hpp
      
      move defs into cpp files
      
      get_input_argument -> get_input_op
      
      formatting
      
      * add xla_function.* and assert -> throw
      
      * assert -> throw, remove cassert
      
      * removing emitter.cpp; poor guy got left behind
      
      * addressing feedback p1
      
      * rename GetTupleElement -> GetOutputElement
      
      * adding a comment to get_arguments_FOR_GRAPH_REWRITE_ONLY
      
      * removing virtual off set_name
      fce3c524
  2. 13 Dec, 2017 3 commits
  3. 12 Dec, 2017 2 commits
  4. 11 Dec, 2017 2 commits
    • Adam Procter's avatar
      Generalized dot (#291) · cba4e54e
      Adam Procter authored
      * WIP generalized dot
      
      * Add some multi-axis 3D, 4D, and 5D tests
      
      * Add test on some 'pretty big' tensors
      
      * Reworked dot to have less flexible axis-pairing behavior
      
      * Backprop for dot... and a fix for a dumb bug in CoordinateTransform
      
      * Forgot to commit some stuff in merge
      
      * Disable tests that currently don't work on CPU
      
      * Fix temporarily disabled test that should pass on NGVM and INTERPRETER but wasn't due to new axis-selection convention for dot
      
      * Remove obsolete ScalarTensorProduct kernel/instruction
      
      * Review comment
      
      * s/n_dot_axes/dot_axis_count/
      
      * s/dot_axis_count/reduction_axes_count/
      
      * Adapt CPU emitter dot fallback to new kernel
      cba4e54e
    • Robert Kimball's avatar
      Bob/backend work (#295) · a960f07e
      Robert Kimball authored
      * add support for n-dimensional operations by calling runtime/kernels
      
      * rename cpu backend classes and files
      
      * add tuple support to INTERPRETER
      
      * move ndarray out of runtime to test where it belonged
      
      * fix Tuple op per review comment
      a960f07e
  5. 06 Dec, 2017 2 commits
    • Nick Korovaiko's avatar
      Subgraph Labels (#285) · ab63fd33
      Nick Korovaiko authored
      * subgraph labels
      
      * adding more documentation for Label
      
      * minor fixes
      ab63fd33
    • Adam Procter's avatar
      New checks for Function's constructor (#292) · 8c50b179
      Adam Procter authored
      * Remove unnecessary dependency on codegen in interpreter
      
      * Check for incorrect return type and undeclared parameters in Function's constructor
      
      * Address review comments
      
      * Add scarier error message when the result node has null return type (should never happen)
      * Add new constructor for Function that doesn't require the return type, and unit test for same
      8c50b179
  6. 05 Dec, 2017 1 commit
    • Robert Kimball's avatar
      New Interpreter backend (#287) · 025a1b92
      Robert Kimball authored
      * New Interpreter backend
      
      * PR review comments
      
      * More RP fixes
      
      * oops
      
      * make autodiff tests backend aware
      
      * wip
      
      * wip
      
      * more ops
      
      * wip
      
      * fix merge error
      
      * merge fixes
      025a1b92
  7. 04 Dec, 2017 1 commit
    • Adam Procter's avatar
      Finish de-Eigenization (#282) · 7b305e3e
      Adam Procter authored
      * Simpler kernel for broadcast
      
      * Fixed behavior for integer divide-by-zero, added unit tests
      
      * Strided and higher-dimensional slice (just tested to 3D)
      
      * Higher-dimensional sum
      
      * Replace-slice de-Eigenized; NOT TESTED AT HIGHER DIMENSIONS YET
      
      * Correct sum behavior when eliminating zero-length axes; add unit tests; also, add higher-dim unit tests for replace-slice
      
      * Higher-dimensional reduce, 'cause hey, why not?
      
      * Remove BroadcastScalarInstruction
      
      * Adding test for an observed failure at trivial sum on 5-tensors
      
      * De-Eigenized and higher-dimmified concat
      
      * Replace 'auto' in the kernels
      
      * temporary delete to ease merge
      
      * Re-insert tests that were deleted to ease merge
      
      * Refactor view-iteration
      
      * De-Eigenize reshape
      
      * Rework divide kernel to use std::enable_if to distinguish between floating and non-floating types
      
      * Update docs to reflect newly implemented cases in several ops
      
      * Rename parameters to View for more clarity; remove axis_walk_order (it's redundant)
      
      * Formatting
      
      * More terminological rejiggering
      
      * De-Eigenize scalar-tensor product
      
      * De-Eigenize dot
      
      * Update docstrings
      
      * Remove 'implementation status' tables from docstrings
      
      * Change step -> strides everywhere for consistent terminology
      
      * Formatting
      
      * Replace asserts in view.cpp with exceptions
      
      * Fix typo
      
      * Fix incorrect result type in dot1d test (ouch...)
      
      * Add missing support for Float64 to ngvm/external_function
      
      * Add int16 and uint16 (how was this missing?)
      
      * A few more additions relative to the missing element types
      
      * Disable tests that will not pass on CPU; they can still be run with test/unit-test --gtest_also_run_disabled_tests --gtest_filter='DISABLED_NGVM.*'
      
      * Move project_ and inject_ functions to common.[ch]pp, not view.[ch]pp
      
      * Rename View to CoordinateTransform
      
      * Add prefix ++ and += to CoordinateIterator
      7b305e3e
  8. 01 Dec, 2017 1 commit
  9. 30 Nov, 2017 5 commits
  10. 29 Nov, 2017 2 commits
    • Christian Convey's avatar
      Adds autobroadcast builder. · 4630c37d
      Christian Convey authored
      4630c37d
    • Adam Procter's avatar
      Backprop for some ops (#257) · 13330d49
      Adam Procter authored
      * Autodiff for abs
      
      * Formatting, more tests for abs
      
      * Cos autodiff; also a clarifying comment in the abs test
      
      * Forgot cos.cpp
      
      * Sin autodiff
      
      * Again, forgot to add sin.cpp  :/
      
      * Tan autodiff
      
      * Minor formatting tweak
      
      * Commit partial work on select backprop so I can run valgrind on the server  :/
      
      * Fix boolean thingy so it works on Linux
      
      * Autodiff for ceiling, convert (untested), floor, sign. Fix unit test for tan. Implement ceiling, floor in VM.
      
      * Fix bug in abs/sign unit test ranges
      
      * Add multiplicative inverse and square-root ops (needed for hyperbolic trig autodiff)
      
      * Better formula for sqrt adjoints
      
      * Autodiff for hyperbolic trig ops
      
      * Forgot to add cpp files for hyperbolics
      
      * Remove inv (don't need it after all); also formatting (oops)
      
      * fix bug with Convert autodiff
      
      * Autodiff for concat
      
      * Restore the accidentally-commented-out unit test for abs
      
      * Formatting
      
      * Fix 'unordered_map.at' exception when Adjoints::Adjoints visit a node that has never been add_delta'd; remove workarounds for that bug
      
      * Fix erroneous 'not implemented' docstring for op::Not
      
      * Autodiff for sum
      
      * Checking in broken support for replace_slice so I can test it with valgrind on the dev box
      
      * Fix unit test bug with tensor initialization; formatting
      
      * Implement replace-slice in CPU backend
      
      * Autodiff for Slice and ReplaceSlice
      
      * Tweak docs for ReplaceSlice
      
      * Remove no-longer-needed cast of arg list to runtime::TensorView
      13330d49
  11. 28 Nov, 2017 2 commits
    • Nick Korovaiko's avatar
      REBASE: graph pattern matcher half I/O half arguments/users (#269) · 3e68842b
      Nick Korovaiko authored
      * Start of pattern matcher
      
      recursive graph matcher, pattern node
      
      add matcher.cpp
      
      add files for matcher, graph_rewrite
      
      add const to on_match_class
      
      fix comp errors
      
      reshuffle pattern matching code across corresponding files
      
      fix comment
      
      run clang-format
      
      graph_rewrite replace_node
      
      getting simple test cases to work
      
      op/pattern.cpp
      
      toward graph_rewrite tests
      
      older matcher API
      
      before clean up tests
      
      before rebase
      
      build bbrks
      
      more tests
      
      clean up
      
      more clean-up
      
      more cleanup 2
      
      more clean up 3
      
      clean up 4
      
      clang errors
      
      clang errors2
      
      apply code format
      
      move match_class to matcher
      
      major clean up after moving match_class to matcher.cpp
      
      removing tracing changes
      
      rebased as of 11/8
      
      make matcher use i/o descs to traverse the graph; change replace_io
      
      switching to io tds
      
      graph_rewrite tests fail
      
      all tests pass
      
      formatting
      
      unhandle outputs explicitly for now
      
      reset permissions back to 0644; bad bad windows
      
      fixes after rebase
      
      * fixes
      
      * addressing Scott's feedback
      3e68842b
    • Matthew Brookhart's avatar
      Reduce Ops in the Builder (#252) · bdd0bc62
      Matthew Brookhart authored
      * First compiling pass, doesn't link tests, looks like templates aren't properly initialized?
      
      * Make reduce inline, compiles, sum passes test
      
      * Initial working reduce op builder
      
      * Add Std dev, Variance, L2Norm. Tests fail because Power isn't actually implemented in ngraph++ yet
      
      * Add Doc Strings, slight refactor
      
      * fix tests after master merge
      
      * Fix style issues raised in PR review
      
      * Switch to Sum-based ops instead of Reduce-based ops for simpler autodiff.
      
      * Add requested TODO comments
      
      * Use all_close for tests
      
      * Remove product op
      bdd0bc62
  12. 25 Nov, 2017 4 commits
  13. 22 Nov, 2017 1 commit
  14. 21 Nov, 2017 10 commits
  15. 20 Nov, 2017 1 commit
    • Robert Kimball's avatar
      Bob/ngvm (#250) · b95135c6
      Robert Kimball authored
      * wip
      
      * remove ndarray dependency from ParameterizedTensorView
      
      * get rid of operator= on ParameterizedTensorView
      
      * remove unimplemented ctor
      
      * remove get_parameterized_tensor_view from TensorView class
      
      * cleanup
      
      * the patient will get worse before getting better. remove ParameterizedTensorView from element type
      
      * cleanup obsolete includes
      
      * remove unused file
      
      * move aligned_buffer and cleanup
      
      * cleanup
      
      * wip
      
      * wip
      
      * wip
      
      * cleanup
      
      * cleanup
      
      * wip
      
      * finally got rid of getting a non-const vector from PTV
      
      * wips
      
      * wip
      
      * remove unused
      
      * fix PR comments
      b95135c6
  16. 17 Nov, 2017 1 commit
  17. 16 Nov, 2017 1 commit