1. 06 Jul, 2023 1 commit
    • Paul Fultz II's avatar
      Enable eval to handle multiple contexts (#1751) · 072fd5cc
      Paul Fultz II authored
      This is to help enable multi-target execution. We store a vector of targets and contexts. Currently this will only compile a single target, the PR #1672 is needed to enable multiple targets.
      
      This will also serialize the targets and contexts.
      
      When using the execution_environment or prog.get_context() it will always use the context from the first target assuming this is the "primary" target. Although, its unlikely a user would use execution_environment with a multi-target environment.
      072fd5cc
  2. 05 Jul, 2023 2 commits
  3. 02 Jul, 2023 1 commit
  4. 30 Jun, 2023 1 commit
  5. 23 Jun, 2023 1 commit
  6. 17 Jun, 2023 2 commits
    • Ted Themistokleous's avatar
      Add trace for SIMPLIFY_ALGEBRA matches (#1838) · a0fa3742
      Ted Themistokleous authored
      * Add trace for SIMPLIFY_ALGEBRA matches
      
      * Fix format
      
      * handle review comments from Umang
      
      -int to size_t for trace
      -move env arg to top of simplify_algebra.cpp
      -handle overload beter for find_matches
      
      * Rename trace_mod param to trace_pass
      
      More representative naming for what this trace flag does
      a0fa3742
    • Umang Yadav's avatar
      Fix convert operation for NaNs (#1840) · 2d635f91
      Umang Yadav authored
      * Fix convert for the NaNs
      
      * NaNs can't be compared, use std::isnan()
      
      * formatting
      
      * formatting
      
      * formatting
      
      * add extra tests
      2d635f91
  7. 16 Jun, 2023 1 commit
  8. 15 Jun, 2023 1 commit
    • Brian Pickrell's avatar
      fix parse_instancenorm to create broadcast and multibroadcast instruc… (#1715) · 41ba30d5
      Brian Pickrell authored
      * fix parse_instancenorm to create broadcast and multibroadcast instructions with two dynamic shape arguments instead of 1.  Their make_op() functions don't support dynamic shapes when called with one input.  This caused an error when parsing an ONNX 3duunet model
      
      * Use add_common_op() to create multibroadcast op.
      
      * add verification and parsing test for instance_norm with dynamic input.  Parse test doesn't pass.
      
      * fix for test; still doesn't pass
      
      * another fix for test; still doesn't pass
      
      * work in progress, instance_norm_dyn_batch_test works but instance_norm_test doesn't
      
      * fix onnx instancenorm tests to match parser changes.  Passes all check tests
      
      * Updated comments explaining usage of add_common_op()
      
      * hand-merged conflicts with develop
      
      * fix instance_norm_half_test after merge
      
      * add Onnx test instance_norm_dyn_batch_half_test
      
      * add shape test cases broadcast_1in_dyn_error and multibroadcast_1in_dyn_error_0
      41ba30d5
  9. 12 Jun, 2023 1 commit
  10. 09 Jun, 2023 1 commit
  11. 08 Jun, 2023 1 commit
  12. 05 Jun, 2023 1 commit
  13. 31 May, 2023 1 commit
  14. 30 May, 2023 1 commit
  15. 17 May, 2023 2 commits
  16. 05 May, 2023 1 commit
  17. 04 May, 2023 1 commit
    • Zhuoran Yin's avatar
      [mlir] Adding quant convolution fusion as anchor op (#1683) · 7f105952
      Zhuoran Yin authored
      Exposed the mlir_enabled() call the decide for lowering pipeline's enablement
      Disabled the rewrite quantization pipeline in mlir compilation
      Added quant convolution as anchor ops
      Fixed the return type expectations
      Added the fall back hip implementation for quantizelinear and dequantizelinear
      Will need advises to improve the implementation for quantizelinear
      7f105952
  18. 28 Apr, 2023 1 commit
  19. 24 Apr, 2023 2 commits
  20. 20 Apr, 2023 1 commit
  21. 18 Apr, 2023 1 commit
  22. 10 Apr, 2023 1 commit
  23. 07 Apr, 2023 1 commit
  24. 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
  25. 05 Apr, 2023 3 commits
  26. 04 Apr, 2023 1 commit
    • 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
  27. 03 Apr, 2023 2 commits
  28. 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
  29. 30 Mar, 2023 1 commit
  30. 28 Mar, 2023 1 commit
  31. 22 Mar, 2023 1 commit
  32. 21 Mar, 2023 1 commit