1. 03 May, 2023 1 commit
    • Charlie Lin's avatar
      Update C/C++ API for dynamic batch (#1712) · 0ff00ef6
      Charlie Lin authored
      Relies on Removed split_single_dyn_dim compile flag #1711
      Exposes dynamic_dimension as a opaque object with dynamic_dimensions and optimals
      Exposes ONNX dyn_input_dims and default_dyn_dim to run with dynamic batch
      Updates api.py to be able to create objects from aggregate initialization (used for dynamic_dimension)
      Uses offload copy for now
      0ff00ef6
  2. 02 May, 2023 1 commit
  3. 28 Apr, 2023 1 commit
  4. 24 Apr, 2023 2 commits
  5. 20 Apr, 2023 1 commit
  6. 19 Apr, 2023 1 commit
  7. 18 Apr, 2023 1 commit
  8. 17 Apr, 2023 2 commits
  9. 13 Apr, 2023 1 commit
  10. 11 Apr, 2023 1 commit
  11. 10 Apr, 2023 2 commits
  12. 07 Apr, 2023 1 commit
  13. 06 Apr, 2023 2 commits
    • Charlie Lin's avatar
      Driver dynamic batch update (#1652) · adccec52
      Charlie Lin authored
      Examples..
      
      bin/driver verify /codes/onnx_models/resnet50-v1-7/resnet50-v1-7.onnx --split-single-dyn-dim --batch 3 --dyn-input-dim @data "[{min:1, max:4}, 3, 224, 224]"
      
      bin/driver compile /codes/onnx_models/resnet50-v1-7/resnet50-v1-7.onnx --split-single-dyn-dim --default-dyn-dim "{min:1, max:10}" --output resnet50_batch1-10.mxr
      
      bin/driver perf resnet50_batch1-10.mxr --batch 4
      adccec52
    • Paul Fultz II's avatar
      Add reduction fusion (#1614) · f201285c
      Paul Fultz II authored
      Automatically fuse multiple reductions and pointwise operations.
      f201285c
  14. 05 Apr, 2023 1 commit
  15. 04 Apr, 2023 2 commits
    • shivadbhavsar's avatar
      fix bug in transpose_slice simplification (#1660) · 30af1697
      shivadbhavsar authored
      Bug found due to failing torch benchmark. Added test case to reproduce issue causing the model to error out on compile.
      Original logic results in the following error:
      AMDMIGraphX/src/include/migraphx/op/unsqueeze.hpp:128: normalize_compute_shape: UNSQUEEZE: Axis dimenstion is not divisible by step
      30af1697
    • Charlie Lin's avatar
      Refactor dynamic_dimension to have multiple optimals (#1625) · e7ec374f
      Charlie Lin authored
      Makes the optimals into a std::set<std::size_t>
      Changes shape object functions to handle the opts change
      Changes to convolution, flatten, pooling, and convolution in that they no longer calculate the output optimal dimensions. Instead returns empty opts. Will need to change this in the future if we want to support dynamic shapes fully.
      Many changes to tests and shape calls with respect to the new optimals
      e7ec374f
  16. 03 Apr, 2023 2 commits
  17. 01 Apr, 2023 1 commit
  18. 31 Mar, 2023 1 commit
    • Charlie Lin's avatar
      Split single dynamic dimension compiler pass (#1580) · e9e3eacc
      Charlie Lin authored
      Adds a new GPU compiler pass split_single_dyn_dim that handles when one input parameter has a single non-fixed dynamic_dimension.
      commonly occurs for dynamic batch or BERT sequence length
      Splits the dynamic shape into several submodules will static input parameters to handle all of the cases in the dynamic_dimension range.
      Essentially does what I manually did for the select_module verify tests
      Adds a compile option split_single_dyn_dim that toggles the pass on/off. Defaults to false.
      Updates verify_program.hpp and run_verify.cpp to allow for the tests to change the compile_options
      e9e3eacc
  19. 29 Mar, 2023 1 commit
  20. 27 Mar, 2023 1 commit
  21. 26 Mar, 2023 1 commit
  22. 21 Mar, 2023 1 commit
  23. 18 Mar, 2023 1 commit
  24. 17 Mar, 2023 2 commits
  25. 14 Mar, 2023 1 commit
  26. 10 Mar, 2023 2 commits
  27. 04 Mar, 2023 1 commit
  28. 28 Feb, 2023 1 commit
    • Charlie Lin's avatar
      Select module op (#1569) · a63ee2e0
      Charlie Lin authored
      Creates the select_module operator that selects one of the submodules passed to it to run based on the submodule parameters.  The submodule is selected by having the exact same static shapes for the arguments to select_module as the parameters in the submodule
      a63ee2e0
  29. 23 Feb, 2023 1 commit
  30. 16 Feb, 2023 2 commits
  31. 15 Feb, 2023 1 commit
    • Brian Pickrell's avatar
      Dyn slice (#1503) · 102c6bdb
      Brian Pickrell authored
      Add dynamic shape support to slice operator.
      
      First draft of this feature doesn't support ops slicing non-fixed, dynamic axes. Resulting shape in such cases is not guaranteed.* Also, onnx parsing doesn't support any arguments other than "axes".
      102c6bdb