1. 08 Dec, 2022 3 commits
    • Charlie Lin's avatar
      Dynamic reference Softmax (#1475) · 8e7d2efe
      Charlie Lin authored
      No major changes required, use dyn_output and pass dynamic shape when calling compute_shape()
      Adds dynamic shape tests
      8e7d2efe
    • Charlie Lin's avatar
      Dynamic ref flatten (#1482) · 4c32afcc
      Charlie Lin authored
      Changes flatten's compute_shape() to handle dynamic shapes
      Calculates the flattened shape with the min, max, and opt
      4c32afcc
    • shivadbhavsar's avatar
      fix issues with compiling lstm ops in fp16 mode (#1450) · 352c2465
      shivadbhavsar authored
      Currently, quantizing a program with rnn layers to fp16 results in segmentation faults due to a "convert" operation being applied to an "undefined" instruction.
      
      The following changes are implemented to fix this issue:
      
      Added is_undefined method to the instruction class that returns true if all inputs to the instruction are from an undefined op.
      Updated rewrite_rnn pass to use the new is_undefined method rather than checking ins->name()
      Updated the dead_code_elimination pass to also use this new method rather than only checking the instruction name
      352c2465
  2. 07 Dec, 2022 1 commit
  3. 06 Dec, 2022 3 commits
  4. 02 Dec, 2022 2 commits
    • Charlie Lin's avatar
      Refactor non-standard literal construction (#1443) · fdc3f00a
      Charlie Lin authored
      Fix problem with the contiguous operator constructing non-standard shape literals.  A non-standard literal will almost never be used, since a literal is known at compile time.  Added some comments on the intended behavior:
      
      - literal{shape, vector} constructor with a non-standard shape is intended to keep the same ordering as the given vector. The data buffer will be populated such that when the non-standard indexing is used the original order is as given.
      - literal{shape, argument} constructor directly copies the data buffer from the argument
      - Changed non-standard literal fill() to use tensor_view iterators as it handles non-standard shapes now
      - Changed the contiguous ref_ops_test to be more helpful
      fdc3f00a
    • Charlie Lin's avatar
      Dynamic ref pooling (#1449) · 0e40ebaa
      Charlie Lin authored
      Extends the pooling operators for dynamic shape inputs
      
      AveragePooling
      GlobalAveragePooling
      MaxPooling
      GlobalMaxPooling
      LpNormPooling
      GlobalLpNormPooling
      y.github.com>
      0e40ebaa
  5. 28 Nov, 2022 1 commit
  6. 17 Nov, 2022 2 commits
  7. 13 Nov, 2022 1 commit
    • Charlie Lin's avatar
      Dyn ref multibroadcast; dyn binary (#1423) · d73c6d7c
      Charlie Lin authored
      Updated Multibroadcast op to have a two input version for dynamic shapes
      Current dynamic shape broadcasting logic
      dynamic_dimensions must be the same or one of them is {1, 1, 0} or {1, 1, 1}
      Works for dyn-dyn, dyn-static, and static-static shape combinations
      Changed common.cpp for multibroadcasting for binary ops with dynamic shapes
      Extended binary.hpp for dynamic shapes to test the new common.cpp stuff
      d73c6d7c
  8. 02 Nov, 2022 2 commits
  9. 01 Nov, 2022 1 commit
  10. 28 Oct, 2022 1 commit
  11. 27 Oct, 2022 2 commits
  12. 26 Oct, 2022 1 commit
  13. 19 Oct, 2022 2 commits
  14. 18 Oct, 2022 1 commit
  15. 17 Oct, 2022 1 commit
    • Umang Yadav's avatar
      memset fix (#1414) · 83784c52
      Umang Yadav authored
      hipMemset is causing random failure.
      hipMemsetAsync is doing the correct synchronization.
      83784c52
  16. 14 Oct, 2022 1 commit
  17. 13 Oct, 2022 2 commits
  18. 07 Oct, 2022 1 commit
  19. 04 Oct, 2022 2 commits
  20. 03 Oct, 2022 1 commit
    • Umang Yadav's avatar
      Add output_alias and runs_on_offload_target flags for the custom ops (#1309) · c9ffb38d
      Umang Yadav authored
      Adds two methods for the custom_ops virtual class.
      
      bool runs_on_offload_target(), if the custom op runs directly on the gpu then it should be set to true. in this case, custom op expects its parameters to reside in GPU memory and writes output to the GPU memory. If it is set to false then, custom op expects it's parameter to reside on the host and puts back the result into the host memory.
      
      output_alias, if output of the custom op is aliasing the input buffer. i.e. interpreting the same input buffer with differnet shape and strides.
      
      Update as_vector() in C++ API to handle non-standard shapes. It required exposing element_index to space_index conversion method for the shape class.
      c9ffb38d
  21. 29 Sep, 2022 1 commit
  22. 28 Sep, 2022 1 commit
    • Umang Yadav's avatar
      Add compute_fp32 flag for quant_gemm tests (#1360) · 70e63960
      Umang Yadav authored
      test_gpu_pack_int8_args fails on gfx908 machine, because it doesn't set compute_fp32 flag correctly. This PR fixes the test such that it checks for the device-name, and rocblas-versions and sets this flag accordingly.
      70e63960
  23. 27 Sep, 2022 1 commit
  24. 26 Sep, 2022 2 commits
    • Charlie Lin's avatar
      Rewrite ONNX parse batch norm (#1362) · c00f8202
      Charlie Lin authored
      Rewrites the BatchNormalization ONNX operator into other MIGX operators
      - Added handling of 1D input tensor case (edge case in ONNX spec)
      Removes the spatial and per_activation functionality (not in the ONNX spec)
      - Did not remove the batch_norm_inference related code as the TensorFlow parser still uses it
      - Can remove that code when the TF version is updated
      c00f8202
    • Paul Fultz II's avatar
      Upgrade cppcheck to 2.9 (#1400) · 66bbff1e
      Paul Fultz II authored
      Upgrade cppcheck to 2.9 
      66bbff1e
  25. 23 Sep, 2022 1 commit
  26. 21 Sep, 2022 2 commits
  27. 19 Sep, 2022 1 commit
    • Paul Fultz II's avatar
      Improve layernorm and reductions performance (#1348) · 97a1ed2d
      Paul Fultz II authored
      Compute mean and variance in same reduction
      Set block size to numbers divisible by 32 instead powers of 2
      Global is also set exactly instead of being divisible by block size
      More exact matching of global/local can help get rid of branching/loops
      Reduce vectors first before doing dpp_reduce
      Explicitly vectorize array operators since the compiler doesnt always vectorize them
      Still uses old for loop when its computing at compile-time since the reinterpret_cast nor the all the vector types is supported
      97a1ed2d