- 06 Dec, 2023 1 commit
-
-
Umang Yadav authored
-
- 01 Dec, 2023 1 commit
-
-
Umang Yadav authored
-
- 30 Oct, 2023 1 commit
-
-
Umang Yadav authored
-
- 24 Sep, 2023 1 commit
-
-
Charlie Lin authored
New compiler pass that simplifies dynamic shapes related operators to their static versions if possible Will normally be used after a split_single_dyn_dim pass
-
- 28 Jul, 2023 1 commit
-
-
turneram authored
-
- 25 Jul, 2023 1 commit
-
-
Artur Wojcik authored
-
- 21 Jun, 2023 1 commit
-
-
Umang Yadav authored
Co-authored-by:kahmed10 <15948690+kahmed10@users.noreply.github.com>
-
- 08 Jun, 2023 1 commit
-
-
Paul Fultz II authored
Enable with MIGRAPHX_ENABLE_CK=1 and --exhaustive-tune tune flag
-
- 06 Jun, 2023 1 commit
-
-
Umang Yadav authored
Sigmoid approximation for GeLU was introduced in #1299 for Fp16. The sigmoid approximation is known to get better perf but lower accuracy. https://arxiv.org/pdf/1606.08415.pdf
-
- 19 May, 2023 1 commit
-
-
Zhuoran Yin authored
Co-authored-by:Paul Fultz II <pfultz2@yahoo.com>
-
- 04 May, 2023 1 commit
-
-
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
-
- 28 Apr, 2023 1 commit
-
-
Charlie Lin authored
-
- 21 Apr, 2023 1 commit
-
-
Umang Yadav authored
-
- 06 Apr, 2023 1 commit
-
-
Paul Fultz II authored
Automatically fuse multiple reductions and pointwise operations.
-
- 03 Apr, 2023 1 commit
-
-
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.
-
- 31 Mar, 2023 1 commit
-
-
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
-
- 18 Mar, 2023 1 commit
-
-
Umang Yadav authored
Fixes #1595
-
- 16 Feb, 2023 1 commit
-
-
Umang Yadav authored
* Add driver flag "--exhaustive-tune" to enable tuning, add support for the same in C/C++ and python API
-
- 31 Jan, 2023 1 commit
-
-
Paul Fultz II authored
* Add general optimize pass * Fuse gemm multiplies by scalar * Handle zero epsilon
-
- 29 Nov, 2022 1 commit
-
-
kahmed10 authored
Merging #1391 caused an extra adjust allocation pass for GPU targets. This removes that merge error.
-
- 02 Nov, 2022 1 commit
-
-
Paul Fultz II authored
Can be enabled via environment variable MIGRAPHX_ENABLE_NHWC
-
- 26 Oct, 2022 1 commit
-
-
Brian Pickrell authored
Fixes an observed regression error on certain Frozen Protobuf models due to PR 1280
-
- 13 Oct, 2022 1 commit
-
-
Charlie Lin authored
Rewrites the TF batch norm like operators to other MIGX operators Removes the code related to batch_norm_inference
-
- 31 Aug, 2022 1 commit
-
-
turneram authored
Rewrite_gelu pass replaces the gelu formula of x * (1/2) * (1 + erf(x/sqrt(2))) with the sigmoid approximation of x * Sigmoid(x * 1.702)
-
- 27 Aug, 2022 1 commit
-
-
Paul Fultz II authored
This will rewrite dot operators like X(Y + b) to XY + Xb when b is constant as we can fold the add away. This improves handling pointwise with broadcasted operators, this helps improves const propagation. Improve gemm fusion with a mul_add Improve support for broadcast shapes in gemm
-
- 12 Jul, 2022 1 commit
-
-
Paul Fultz II authored
-
- 03 Jul, 2022 1 commit
-
-
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
-
- 23 Jun, 2022 1 commit
-
-
kahmed10 authored
* remove eliminate workspace * remove sync device and other tags
-
- 22 Jun, 2022 1 commit
-
-
Ted Themistokleous authored
Updated each source file in the repo with the existing license.
-
- 17 Jun, 2022 1 commit
-
-
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:
Umang Yadav <29876643+umangyadav@users.noreply.github.com> Co-authored-by:
Chris Austen <causten@users.noreply.github.com> Co-authored-by:
Paul Fultz II <pfultz2@yahoo.com>
-
- 11 May, 2022 1 commit
-
-
Paul Fultz II authored
Fuse layernorm and added triadd_layernorm fusion. This is a prep performance booster
-
- 09 Feb, 2022 1 commit
-
-
Paul Fultz II authored
There is now a MIGRAPHX_DISABLE_POINTWISE_FUSION to disable it
-
- 11 Nov, 2021 1 commit
-
-
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.
-
- 08 Oct, 2021 1 commit
-
-
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.
-
- 17 Sep, 2021 2 commits
-
-
Paul Fultz II authored
This reverts commit 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.
-
- 10 Sep, 2021 1 commit
-
-
Paul Fultz II authored
Assert shapes dont change Co-authored-by:Shucai Xiao <Shucai.Xiao@amd.com>
-
- 18 Aug, 2021 1 commit
-
-
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
-
- 15 Jul, 2021 1 commit
-
-
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
-
- 08 Jul, 2021 1 commit
-
-
Paul Fultz II authored
* Add preallocate method * Add preallocate_param pass * Preallocate buffers on the cpu * Formatting * Preallocate on the gpu * Add missing cpp file * Formatting * Add lifetime function * Formatting * Always allocate * Fix tidy warning * Add const * Add missing lifetime annotations Co-authored-by:mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-