1. 17 Oct, 2022 2 commits
    • Ted Themistokleous's avatar
      Add unit tests for empty constants as input to if branches · bdf6c835
      Ted Themistokleous authored
      - gen_onnx.py changes for onnx output of empty const input branches (seen in resnext50)
      - updated onnx_test.cpp to validate parsing of input.
      - new onnx files generated from onnx tests
      bdf6c835
    • Ted Themistokleous's avatar
      More review changes/fixes · d8ee02b9
      Ted Themistokleous authored
      - Handle checks for each IF output
      - add const to inputs of all_but_last_dims_equal
      - add std::equal instead of using equal
      - Use .back() for vectors in getting last value
      - Use input().front() instead of prev(prev()) when replacing the last value.
      d8ee02b9
  2. 14 Oct, 2022 1 commit
  3. 13 Oct, 2022 7 commits
  4. 08 Oct, 2022 1 commit
    • Ted Themistokleous's avatar
      Got model past if sequence but failing unit tests still · ea2d51bf
      Ted Themistokleous authored
      - Gets past to the split section of the resnext model
      - adding outline seems to solve if issues but verify calls broken
      - Referencing wrong element now instead of output of correct if block?
      - Need to determine proper output through verify tests.
      - Modified protobuf to handle case of extra 1 to "vectorize" scalar
      - Modified verify/tests to get things to "work", may need to be revised further.
      ea2d51bf
  5. 07 Oct, 2022 2 commits
    • Ted Themistokleous's avatar
      Simplify unit algebraic ops (#1281) · 4f3cc417
      Ted Themistokleous authored
      Simplified algebraic operations (x*1), x*(-1), x/1, 0+x & x+0,  x-0, 0-x, 0*x, x*0, and 0/x operations
      4f3cc417
    • Ted Themistokleous's avatar
      Get empty shapes working for parse_IF operator · abd3d63e
      Ted Themistokleous authored
      - Update if_then/else_empty test protobuff and cases
      - Need to update rand() vector used
      - Make y empty instead of x for if_else_empty_test.onnx
      - Regenerate protobufs with updates
      - Add changes to handle empty/scalar input branch size to if operator.
      - Add case where if both branches empty throw an error.
      - Update verify tests with gold vectors and new shapes for empty input vec
        which we handle like a scalar before broadcasting
      abd3d63e
  6. 05 Oct, 2022 2 commits
    • Ted Themistokleous's avatar
      Add test files, protobufs and verification tests that capture errors with IF operator · 7c8c3bee
      Ted Themistokleous authored
      - Verification tests that test each then/else branches for parsed IF operator
      - Testing empty shape tensors for one branch -> output must be the other branch's shape
      - Testing trailing 1 shape for one branch -> output must be union of both inputs
      
      Current issue with IF operator is that we can't handle training vectors that match
      in size correclty while also running into issues with empty inputs for one of the
      branches for size/type checks.
      7c8c3bee
    • Ted Themistokleous's avatar
      Add additional test coverage for if_then case in verify · c1b0030b
      Ted Themistokleous authored
      This seemed to be missing, just leveraging the existing protobuf made
      to test parsing of if_then_test.onnx for this and using the tensor of all
      ones to default to an ADD operation to ensure cond =1 is being handled and parsed
      in correctly.
      c1b0030b
  7. 04 Oct, 2022 2 commits
  8. 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
  9. 29 Sep, 2022 1 commit
  10. 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
  11. 27 Sep, 2022 1 commit
  12. 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
  13. 23 Sep, 2022 1 commit
  14. 21 Sep, 2022 2 commits
  15. 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
  16. 16 Sep, 2022 1 commit
  17. 15 Sep, 2022 1 commit
  18. 14 Sep, 2022 3 commits
  19. 13 Sep, 2022 1 commit
    • turneram's avatar
      Use rocblas_gemm_ex for batched gemms with broadcasted B (#1354) · a10a8ef1
      turneram authored
      Improves performance for 4/6 GEMMs used by huggingface BERT models with batch_size>1 by using a non-batched rocBLAS call for GEMMs where the B input has a broadcasted batch dimension.
      The four verify tests added reflect the actual configurations used by bert-base-cased, with varied batch sizes.
      
      Also adds a matcher to simplify_reshapes to move multibroadcasts after concats.
      a10a8ef1
  20. 08 Sep, 2022 2 commits
  21. 07 Sep, 2022 1 commit
  22. 06 Sep, 2022 1 commit
  23. 31 Aug, 2022 1 commit
  24. 29 Aug, 2022 1 commit
  25. 27 Aug, 2022 1 commit