1. 11 Nov, 2023 1 commit
  2. 30 Oct, 2023 1 commit
  3. 24 Sep, 2023 1 commit
  4. 28 Jul, 2023 1 commit
  5. 25 Jul, 2023 1 commit
  6. 21 Jun, 2023 1 commit
  7. 08 Jun, 2023 1 commit
  8. 06 Jun, 2023 1 commit
  9. 19 May, 2023 1 commit
  10. 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
  11. 28 Apr, 2023 1 commit
  12. 21 Apr, 2023 1 commit
  13. 06 Apr, 2023 1 commit
  14. 03 Apr, 2023 1 commit
    • Charlie Lin's avatar
      promote_literals pass (#1593) · e3fb3a0d
      Charlie Lin authored
      Adds the promote_literals compiler pass that moves literals from the submodules to the main module.
      With the eliminate_common_subexpression pass, it will remove copies of literals created during split_single_dyn_dim.
      Pass is enabled with the split_single_dyn_dim compile option.
      e3fb3a0d
  15. 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
  16. 18 Mar, 2023 1 commit
  17. 16 Feb, 2023 1 commit
  18. 31 Jan, 2023 1 commit
  19. 29 Nov, 2022 1 commit
  20. 02 Nov, 2022 1 commit
  21. 26 Oct, 2022 1 commit
  22. 13 Oct, 2022 1 commit
  23. 31 Aug, 2022 1 commit
  24. 27 Aug, 2022 1 commit
  25. 12 Jul, 2022 1 commit
  26. 03 Jul, 2022 1 commit
    • Paul Fultz II's avatar
      Add mlir fusion (#1251) · ca8a54fe
      Paul Fultz II authored
      * Add mlir c api
      
      * Formatting
      
      * Create a type attribute
      
      * Formatting
      
      * Parse module
      
      * Formatting
      
      * Add mlir dump function
      
      * Add test case
      
      * Formatting
      
      * Fix tidy issues
      
      * Update mlit version
      
      * Update to newer mlir
      
      * Format
      
      * Move mlir to the gpu and update the test
      
      * Formatting
      
      * Fix bug when appending module
      
      * Format
      
      * Remove old cmake flag
      
      * Update message
      
      * Add return
      
      * Format
      
      * Add mlir_compile
      
      * Format
      
      * Register dialect
      
      * Handle unsinged integers
      
      * Dont provide output for return instruction
      
      * Format
      
      * Add code to insert memrefs
      
      * Format
      
      * Add mlir verification
      
      * Formatting
      
      * Enable pointwise_fusion
      
      * Disable eliminate_data_type
      
      * Set kernal name
      
      * Format
      
      * Fix device name
      
      * Formatting
      
      * Fix output arg
      
      * Format
      
      * Updates
      
      * Upate hash
      
      * Add fuse_mlir pass
      
      * Format
      
      * Add fuse mlir
      
      * Format
      
      * Update mlir
      
      * Sort parameter names
      
      * Format
      
      * Reenable disabled passes
      
      * Remove old mlir conv
      
      * Remove asym default padding
      
      * Add more verbose tracing
      
      * Format
      
      * Fix compilation errors
      
      * Format
      
      * Whitelist operators
      
      * Format
      
      * Add namespace
      
      * Format
      
      * Update triple
      
      * Format
      
      * Use func dialect
      
      * Format
      
      * Use func.return
      
      * Format
      
      * Upgrade mlir version
      
      * Add comment
      
      * Handle symetrical padding
      
      * Format
      
      * Cleanup debug output
      
      * Format
      
      * List failed tests
      
      * Move mlir compile to jit pipeline
      
      * Format
      
      * Update version
      
      * Add source locations
      
      * Format
      
      * Correctly add module
      
      * Format
      
      * Update failed tests
      
      * Fix failures when mlir is disabled
      
      * Format
      
      * Update mlir version
      
      * Check type for fp32
      
      * Format
      
      * Remove failed test
      
      * Update mlir in driver
      
      * Tidy fixes
      
      * Foramt
      
      * Tidy fixes
      
      * Format
      
      * Fix const
      
      * Remove from requirements
      
      * Fix cmake version
      
      * Fix tidy warning
      
      * Use another ifdef
      
      * Fix tidy
      
      * Other tidy fix
      
      * Format
      
      * Update hash
      
      * Add missing license files
      
      * Format
      
      * Format
      
      * Fix fnction name
      ca8a54fe
  27. 23 Jun, 2022 1 commit
  28. 22 Jun, 2022 1 commit
  29. 17 Jun, 2022 1 commit
    • kahmed10's avatar
      Create allocate op and replace_allocate pass (#1183) · add6fb3b
      kahmed10 authored
      
      
      * add allocate op header
      
      * formatting
      
      * add replace_allocate pass
      
      * formatting
      
      * move output param to remove_allocate pass
      
      * formatting
      
      * fix bugs in replace_allocate pass
      
      * formatting
      
      * fix verify if tests
      
      * formatting
      
      * move if op logic
      
      * formatting
      
      * cleanup lowering
      
      * cleanup lowering
      
      * formatting
      
      * fix tidy
      
      * formatting
      
      * fix tidy
      
      * add cpu allocate check
      
      * formatting
      
      * change cpu allocate in pass
      
      * formatting
      
      * add some tests for replace_allocate pass
      
      * formatting
      
      * pass by ref
      
      * fix run_pass
      
      * formatting
      
      * update variable name for module
      
      * update dce to use contains() and fix tidy
      
      * formatting
      
      * update cppcheck
      
      * add if test
      
      * formatting
      
      * add if test
      
      * rename var to mod_output_names
      
      * formatting
      
      * remove conditional
      
      * update allocate op and tests
      
      * formatting
      
      * update replace_allocate tests
      
      * update create_output_names() and conditional in replace_allocate
      
      * formatting
      
      * remove extra variable in replace_allocate
      
      * update tools script for allocation_model
      Co-authored-by: default avatarUmang Yadav <29876643+umangyadav@users.noreply.github.com>
      Co-authored-by: default avatarChris Austen <causten@users.noreply.github.com>
      Co-authored-by: default avatarPaul Fultz II <pfultz2@yahoo.com>
      add6fb3b
  30. 11 May, 2022 1 commit
  31. 09 Feb, 2022 1 commit
  32. 11 Nov, 2021 1 commit
    • Paul Fultz II's avatar
      Conditionally enable pointwise fusion (#992) · 157935ff
      Paul Fultz II authored
      This enables the pointwise fusions using the MIGRAPHX_ENABLE_POINTWISE_FUSION env variable. Its disabled by default since MIOpen fusions need to be refactored.
      
      This also adds a compile_ops pass to compile the pointwise modules. All tests except test_gpu_fast_math passes with MIGRAPHX_ENABLE_POINTWISE_FUSION=1 set.
      157935ff
  33. 08 Oct, 2021 1 commit
    • Umang Yadav's avatar
      Remove alpha and beta from `dot` and `quant_dot` (#961) · 21193e87
      Umang Yadav authored
      Previously dot operator was defined as C = alpha * A . B + beta * C where * is scalar multiplication and . is dot product or matrix multiplication depending on dimension of the inputs.
      
      Aim is to have the definition of dot operator as C = A . B without having alpha or beta.
      
      In order to achieve the same effect as alpha and beta (1) it multiplies the one of the inputs to the dot operator with alpha value. (2) if beta is present then, multiplies the C with beta and then adds into the output from step 1.
      21193e87
  34. 17 Sep, 2021 2 commits
    • Paul Fultz II's avatar
      985f58b0
    • Umang Yadav's avatar
      Remove alpha and beta attributes from dot operator (#945) · 9e43cb8b
      Umang Yadav authored
      This PR aims to remove alpha and beta attributes from dot operator completely.
      
      Previously dot operator was defined as C = alpha * A . B + beta * C where * is scalar multiplication and . is dot product or matrix multiplication depending on dimension of the inputs.
      
      Aim is to have the definition of dot operator as C = A . B without having alpha or beta.
      
      In order to achieve the same effect as alpha and beta (1) it multiplies the one of the inputs to the dot operator with alpha value. (2) if beta is present then, multiplies the C with beta and then adds into the output from step 1.
      9e43cb8b
  35. 10 Sep, 2021 1 commit
  36. 18 Aug, 2021 1 commit
    • turneram's avatar
      Optimize Q/DQ Format Pass (#889) · 0b5f33b6
      turneram authored
      * Add operators, refactor parsers, add rewrite passes, add tests
      
      * Add ref implementations
      
      * Move broadcasting of scales and zero points to onnx parser
      
      * Allow for x and zero_point to have different types in quantizelinear; fix zero_point default type
      
      * Switch certain variables to int64_t
      
      * Fix overflow in implicit constant conversion
      
      * Remove operators.hpp from includes in tf_test.cpp
      
      * Add conversion for int32 input to quantizelinear and add test case; remove operators.hpp from onnx_test.cpp includes
      
      * Switch dequantizelinear math from int32 to float
      
      * Remove changes to operators.hpp
      
      * Simplify apply_quantizelinear
      
      * Add verify test for int32 data
      
      * Add rewrite_quantization back to CMakeLists
      
      * Add passes to insert qdq after add_bias is applied, replace quant_ops, and remove remaining qdq pairs
      
      * Renaming, refactoring, cleaning up code, adding formal test, and adding passes to targets
      
      * Renaming, review comments, begin adding more specific tests
      
      * Add more specific unit tests
      
      * Fix failing test on CI
      
      * Correct matcher and update qop rewriting, update tests and add more tests
      
      * Update matcher, clean up simplify_qdq, tweak tests
      
      * Add tests, remove pass from CPU target, update dot parameters, clean up simplify_qdq
      
      * Fix correctness bug in ref q/dq implementations; edit gemm parser to make beta always 0.0
      
      * Remove unused variables in onnx gemm tests
      0b5f33b6
  37. 15 Jul, 2021 1 commit
    • turneram's avatar
      Quantize linear ops (#843) · 3282e01a
      turneram authored
      * Add operators, refactor parsers, add rewrite passes, add tests
      
      * Formatting
      
      * Fix cppcheck
      
      * Review comments
      
      * Formatting
      
      * Combine rewrite passes
      
      * Formatting
      
      * Add ref implementations
      
      * Formatting
      
      * Review comments
      
      * Formatting
      
      * Tidy warnings
      
      * Apply review comments
      
      * Formatting
      
      * Fix CI error
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Move broadcasting of scales and zero points to onnx parser
      
      * Formatting
      
      * Allow for x and zero_point to have different types in quantizelinear; fix zero_point default type
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Switch certain variables to int64_t
      
      * Formatting
      
      * Fix overflow in implicit constant conversion
      
      * Formatting
      
      * Increase code coverage
      
      * Formatting
      
      * Remove operators.hpp from includes in tf_test.cpp
      
      * Formatting
      
      * Add conversion for int32 input to quantizelinear and add test case; remove operators.hpp from onnx_test.cpp includes
      
      * Formatting
      
      * Switch dequantizelinear math from int32 to float
      
      * Formatting
      
      * Remove changes to operators.hpp
      
      * Simplify apply_quantizelinear
      
      * Formatting
      
      * Add verify test for int32 data
      
      * Add rewrite_quantization back to CMakeLists
      3282e01a
  38. 08 Jul, 2021 1 commit
  39. 27 Jun, 2021 1 commit
    • Shucai Xiao's avatar
      Inline subgraph (#802) · bc52a8a8
      Shucai Xiao authored
      
      
      * Add definitions for all pointwise operators
      
      * Formatting
      
      * Add cpp generator class
      
      * Formatting
      
      * Move compilation to core
      
      * Formatting
      
      * Add clock to tmp name
      
      * Add dynamic loader
      
      * Formatting
      
      * Add tests for code gen
      
      * Formatting
      
      * Add test for literals
      
      * Formatting
      
      * Use with_char
      
      * Add missing header
      
      * Fix mismerge
      
      * Ignore tidy warning
      
      * Fxx gcc 5 errors
      
      * Apply fixits
      
      * Skip signed bitwise of status
      
      * Remove unused parameters
      
      * Explicitly add c++14 flag
      
      * Fix tidy warning
      
      * unify the compute function signature
      
      * clang format
      
      * make another change
      
      * unify the compute function
      
      * clang format
      
      * remove unnecessary code
      
      * more refinement about the operator compute funciton
      
      * clang format
      
      * add an overload function
      
      * clang format
      
      * add support for axes inputs for sequeeze/unsqueeze/reduce_sum
      
      * clang format
      
      * fix build problems
      
      * backup code changes
      
      * clang format
      
      * Add tuple type to shape class
      
      * Formatting
      
      * fix a bug in parsing quantizelinear operator
      
      * clang format
      
      * fix a cppcheck error
      
      * disable different versions of unit tests for different onnx version
      
      * clang format
      
      * upgrade onnx to 1.8
      
      * update onnx to 1.8.1
      
      * disable two more real models
      
      * clang format
      
      * Make data member private
      
      * Formatting
      
      * Add sub arguments
      
      * Formatting
      
      * Trun clang format off
      
      * Disable clang-format
      
      * fix review comments
      
      * fix the function of assign axes in parsing the squeeze operator
      
      * add unit tests and fix a bug
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix a build error
      
      * backup code changes
      
      * clang format
      
      * add more unit tests and add parsing opset version
      
      * clang format
      
      * Improve visiting tuples
      
      * Formatting
      
      * fix cppcheck error
      
      * adding installing the onnx package
      
      * resolve no protobuf compiler
      
      * add an inline subgraph pass
      
      * clang format
      
      * Add more argument tests
      
      * Formatting
      
      * Handle tuple in load
      
      * Formatting
      
      * code backup
      
      * clang format
      
      * Remove .o files
      
      * Add tuple type to api
      
      * Formatting
      
      * fix build errors
      
      * clang format
      
      * code backup
      
      * code backup
      
      * add unit tests for the inline subgraph
      
      * clang format
      
      * refine the inline subgraph and parse if operator
      
      * clang format
      
      * fix cppcheck issue
      
      * clang format
      
      * add unit test for inline subgraph pass
      
      * clang format
      
      * fix format issue
      
      * remove the context from the if operator
      
      * clang format
      
      * simplify the compute functions
      
      * Fix tidy warnings
      
      * fix cppcheck error
      
      * clang format
      
      * fix cppcheck error
      
      * Fix tidy warnings
      
      * fix a cppcheck error
      
      * clang format
      
      * Add a test for share method
      
      * Formatting
      
      * Add a test cpp_type
      
      * add unit tests for more code coverage
      
      * clang format
      
      * add unit tests to have more code coverage
      
      * clang format
      
      * try a comment in jenkins build
      
      * include the install onnnx line
      
      * code backup
      
      * reorder the dependenciesd installed
      
      * refine dockerfile
      
      * fix review comments
      
      * clang format
      
      * remove unnecessary overload function
      
      * fix cppcheck error
      
      * change back the argument test
      
      * Suppress tidy warning
      
      * add the operator get_tuple_elem
      
      * clang format
      
      * add get_tuple_elem to operator include file
      
      * chang if to support multiple operation outputs
      
      * clang format
      
      * optimize inline subgraph
      
      * clang format
      
      * code backup
      
      * clang format
      
      * fix bug
      
      * refine unit tests for tuple output of the if operator
      
      * clang format
      
      * refine a instruction replacement code
      
      * add a unit test and sort all the unit tests alphabetically
      
      * fix cppcheck error
      
      * add more unit tests for multiple op outputs
      
      * clang format
      
      * fix cppcheck error
      
      * Update pass manager to get modules after every pass
      
      * more unit test to cover more scenarios
      
      * clang format
      
      * fixed a bug in a unit test
      
      * add more tests
      
      * clang format
      
      * add more unit tests to have more code coverage
      
      * fix a bug in a unit test
      
      * Add program overload for module
      
      * Formatting
      
      * Hash modules for quicker lookup of modules
      
      * Bump file version
      
      * Add methods to remove modules
      
      * Formatting
      
      * add the tuple type to the support list
      
      * Eliminate unused modules
      
      * Formatting
      
      * Fix test errors
      
      * Foramtting
      
      * Fix tidy issues
      
      * fix problem related to inline subgraph
      
      * clang format
      
      * fix review comments
      
      * fix review comments
      
      * fix review comments
      
      * fix review comments
      
      * clang format
      
      * fix a unit test
      
      * one more code change
      
      * remove an optimization related to the if operator
      
      * clang format
      
      * fix review comments
      Co-authored-by: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      bc52a8a8