- 15 Feb, 2023 1 commit
-
-
charlie authored
removed the new rank<1> function as it messed up batch_quant_dot_5 verify test
-
- 11 Feb, 2023 1 commit
-
-
Brian Pickrell authored
* add dynamic shape support to concat operator. Includes new op_shape_test and ref_ops_test cases
-
- 31 Jan, 2023 1 commit
-
-
charlie authored
only works if exact batch size submodule present will need to make it assemble from other sizes later
-
- 19 Oct, 2022 1 commit
-
-
Charlie Lin authored
Refactor dynamic compute - add a compute_output_shape object that implicitly converts to a new dyn_output or shape object - dyn_output object can handle computing the static output shape of an operator given the input arguments shapes change an operator's compute function to argument compute(const dyn_output& dyn_out, std::vector<argument> args) to use dyn_output object Dynamic ref unary functions - Included these changes to have an example of the refactored dynamic compute being used - Changes to unary base class to handle dynamic shapes - Changed elu and leaky_relu to use unary base class and pointwise JIT
-
- 06 Oct, 2022 2 commits
- 29 Sep, 2022 1 commit
-
-
charlie authored
-
- 27 Sep, 2022 2 commits
- 26 Sep, 2022 1 commit
-
-
charlie authored
-
- 23 Sep, 2022 1 commit
-
-
charlie authored
-
- 22 Sep, 2022 1 commit
-
-
charlie authored
-
- 06 Sep, 2022 1 commit
-
-
Paul Fultz II authored
Using not and or improves readability. The cppcheck rule will help ensure we are doing it consistently.
-
- 04 Aug, 2022 1 commit
-
-
Charlie Lin authored
* Dynamic shape handling in shape object * rewrite empty lens multibroadcast test * Shape class changes to handle dynamic * More throw errors for functions that don't make sense for dynamic shape * Print output changes * Serialization changes * Fixing serialization errors * Remove const on dyn_dim copy getters * Dynamic shape tests * Fix serialize errors * Add dyn_data struct to avoid ambiguous constructor * Tidy fix: emplace_back() over for loop * Tidy fix: use move * Use std::initializer_list in constructor Reverts the dyn_data struct change Should get around the ambiguous braced initialization list error * avoid typedef * element_space, min,max,opt _lens change * formatting * Comments fix * dynamic bytes() test * Seralize and reflect changes * formatting * Test the dynamic lens functions * progress * Formatting * Dynamic conv draft progress * Add operator<< tests for coverage * Coverage update * Add to conv dynamic batch test * Dynamic image size test * Dynamic weight handling * Dyn image shape test change, fix dyn weight cond * Comment update * Dynamic weights shape test and fix * Use ternary operator * Tidy fixes * Handle dynamic graph input shapes in ONNX parser * Formatting * Handle dynamic shape for convolution * formatting * cppcheck fixes * Add onnx test files * Fix typo * Disable auto_pad for dynamic input shape * check_shapes object checks for allowing dynamic shapes * Fix any_of * Change to maintain const objectness * Formatting * Check shapes allow dynamic * Refactor compute_shape() call into op.compute() Allows for per operator differences with handling dynamic shape Fix operation.hpp change to use the generator * Comment fix * Refactor normalize_attributes() calls to use max_lens() * Comment addition * Update other normalize_attributes() calls * Change to using constructor and add tests * Use const member function * Add more dynamic shape support * Add tests for error code coverage * Fix opt shape bug and add shape tests * capture all by ref * Fix typo with img shape calculation * Add more tests * dynamic auto pad attempt Linker error with pad_calc.cpp * Fix parse dyn auto_pad Should only need to use dynamic auto pad when the image shape or kernel shape are dynamic. For a dynamic batch size, the auto pad calculation is the same. * Fix linking error * Fix auto_pad bug Fixed input tensor with auto_pad setting on * auto_pad onnx tests * Fix auto_pad calculation, evaluate in ref_conv add ref_ops tests * Add shape tests, fix bugs * Refactor first two output dynamic len calculation * Conv MLIR test update * i64 MLIR test fix * Fix MLIR test typo Co-authored-by:Chris Austen <causten@users.noreply.github.com>
-
- 22 Jun, 2022 1 commit
-
-
Ted Themistokleous authored
Updated each source file in the repo with the existing license.
-
- 17 Nov, 2021 1 commit
-
-
Paul Fultz II authored
Currently, eliminate_contiguous will never remove contiguous for operators that use module inputs due to the fact that it doesn't pass the module inputs to compute_shape. - Update to pass the module inputs correctly to compute_shape - Fix the overloads of compute_shape so that when passed an empty vector of module inputs it will call the overload without module inputs - Add tests with contiguous and pointwise module function. - Move add_pointwise function to a seperate header to reuse across different tests
-
- 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.
-
- 16 Sep, 2021 1 commit
-
-
Shucai Xiao authored
Add Loop operator for opset version 13. Notes: 1) Default max iteration number is 10 if no max iteration number is provided 2) To change the max iter number, a user can set the max_loop_iterations in the onnx_option struct when parsing a model. 3) The returned shape of the scan output is from the max_loop_iterations even the actual loop num is less than that. This issue also applies to other operators like NonZero and NonMaxSuppression. A issue #948 is created to track this and to be resolved later. Co-authored-by:
Paul <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 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>
-
- 27 Jun, 2021 1 commit
-
-
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:
Paul <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 22 Apr, 2021 1 commit
-
-
Paul Fultz II authored
* Add eliminate_data_type pass * Formatting * Auto convert quant ops * Formatting * Flip the order of decompose * Compute max size differently * Formatting * Clamp values in convert * Formatting * Fix loss of precision in reduce * Formatting * Fix bugs in reduction * Fix accumulator type in reference softmax implementation * Formatting * Update convert test * Remove unused variables * Remove unnecessary quant_dot check * Formatting * Add tests * Formatting * Remove unused code * Remove duplicate ops * Remove blaze dependency * Use set since shape::type_t is no hashable on gcc 5 * Formatting * Add dnnl binary op * Formatting * Add binary and eltwise * Formatting * Add softmax * Formatting * Remove unused operators * Add missing files * Formatting * Add lrn * Formatting * Add deconvolution * Formatting * Change allocate default * Add reorder * Formatting * Add reductions * Formatting * Sort lines * Change literals in another loop * Add pow operator * Formatting * Add pow operator * Formatting * Make sure shapes are packed * Allow broadcasted inputs * Remove unused operators * Simplify functions * Remove softmax * Add sub and erf functions * Formatting * Fix bug * Formatting * Improve parallism * Formatting * Allow multiple batch dimensions * Formatting * Move literal transforms out of lowering * Formatting * Add gather operator * Sort lines * Add early exit for carry * Formatting * Add missing concat * Rename macro * Fix deep nesting * Formatting * Fix cppcheck issues * Remov else * Move attribute to typedef * Formatting * Disable maybe-uninitialized warning since its broken on gcc * Add constexpr default constructor * Formatting * Fix compiler warnings * Fix adjust_allocation test * Add layernorm matcher * Add gelu_erf matcher * Formatting * Add gelu_tanh matcher * Formatting * Remove match namespace * Formatting * Use matcher instead of string * Formatting * Add fusions * Formatting * Add post op field * Formatting * Make post_ops serializable * Formatting * Add eltwise fusions * Formatting * Fix null conversions * Formatting * Add fuse_ops source files * Formatting * Set binary post op index correctly * Formatting * Fix serialization bugs * Check if used once * Formatting * Fix error in get_primitive_attr * Formatting * Add compile function * Formatting * Limit fusions * Formatting * Disable with env variable instead of using compile arg * Formatting * Fix implicit conversion to bool * Declar on seperate lines * Formatting * Fix cppcheck issues * Fix ICE in pack_join * Formatting * Use const ref * Make enum hashable * Formatting * Add explicit this * Fix merge issues * Fix dangling ref * Formatting * Add test for compile * Formatting * Add more value tests * Formatting Co-authored-by:
Shucai Xiao <shucai@gmail.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 05 Apr, 2021 1 commit
-
-
Shucai Xiao authored
* code cleanup * clang format * backup code * clang format * remove unnecessary code * clang format * add module print function * code backup * refine the module::print function * refine the module:to_value() function * code backup * backup code changes * code backup * remove to_value and from_value function from the module class * rename a function * rename the if operator * refine the if operator * refine the print function of module and program * code backup * code backup * fix a build warning * fix overload of compute_shape function * code backup * fix unit test error * fix cppcheck error * fix the issue related to the overload of compute_shape * fix review comments * fix cppcheck error * change the return name of if_op to be if * clang format * fix two unit tests * clang format * rename variables * clang format * remove the unused compute_op function * clang format * add lowering of if operator and compute_op function * clang format * add parsing if operator in onnx file * clang format * fix clang tidy format * clang format * add the gpu implementation of the if operator * enhance the validate function and uncomment a unit test * clang format * remove unnecessary code * add sub_module processing in ref passes * clang format * clang format * fix a hang issue related to the valid function * fix an issue in replace_refs * clang format * fix review comments * clang format * fix cppcheck error * clang format * add a unit test for more code coverage * clang format * fix review comments and add test for more code coverage * clang format * fix cppcheck error * clang format * fix cppcheck error * fix a cppcheck error * clang format * backup code * clang format * fix cppcheck error * clang format * some code refinement * clang format * code backup to handle submodules in module compilation * clang format * code backup * clang format * code backup * clang format * fix a bug related to literal id * fix a bug in gpu execution * change the way of compiling a graph * clang format * backup more changes * clang format * refine pass log information * remove unnecessary code * clang format * temp changes backup * clang format * add module name prefix to scratch memory id in hip_memory_allocation * clang format * change to copy the cond input by inserting a copy instruction * clang format * change to use the if output argument as the submodule output so can remove a gpu_copy * clang format * consider submodule in some compile passes * clang format * fix review comments * clang format * fix issues related to scratch memory * clang format * remove unnecessary code * fix cppcheck error * clang format * reslove the implicit dependencies issue related to submodule * clang format * fix cppcheck error * clang format * backup temp changes * clang format * fixed an bug in the has_instruction function * clang format * fix the return value of the gpu implementation of the if operator * fix a bug in the compute_shape function in the gpu implementation * add an if onnx unit test * clang format * add more unit tests * clang format * tmp code backup * clang format * fix a sync problem related to copy cond argument from gpu to cpu * clang format * change the compile offload copy flag setting * clang format * enable copy from cpu to be able to do synchronous copy * clang format * add more unit tests * add more unit tests * add more ref unit tests * clang format * fixed a bug error * tmp code backup * clang format * fixed an onnx verify unit test * add more unit tests * clang format * reverse a change * fix cppcheck error * fix cppcheck error * fix to print all instructions in program execution * clang format * fix bugs related to memory coloring and offload copy to be true * clang format * remove unnecessary include header file * sort test cases in ref_cpu_ops alphabetically * clang format * add a flag to disable cpu target in verification test * change the way to disable some tests * clang format * disable verify unit test of the if operators * add a function call to have more code coverage * fix a build error * fix review comments * fix review comments * clang format * add a api gpu unit test for more code coverage * clang format * change to use instruction.size() as node index * move the calc_implicit_deps function to module class as a member function * clang format * move the offload_copy flag setting to lowering * clang format * assign the module_eval lambda function to a variable to simplify code * clang format * move the compute function from ref/gpu implementation to the main if operator * clang format * fix cpp check error * add a unit test for more code coverage * clang format * add unit test to calculate implicit deps * add a python unit test * clang format * refine a unit test to have more code coverage * clang format * chang the way of wrap up arguments for sub modules * clang format * fix some build errors * code cleanup * refine unit tests to have more code coverage * clang format * refine unit test to have more code coverage * code backup * clang format * add memory coloring test * refine memory coloring unit test * clang format * remove an unnecessary line * remove an unused line * remove an unnecessary parameter in the lambda function * clang format * refine a unit test * remove an unnecessary line * refine unit tests to have more code coverage * clang format * combine two lines * add one more unit test for more code coverage * clang format * add one more unit test * clang format * fix review comments * refine a print out information * fix review comments * clang format * change the sync copy to using a gpu device sync * clang format * remove unnecessary code Co-authored-by:mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 17 Mar, 2021 1 commit
-
-
Shucai Xiao authored
* code backup * clang format * code backup * change the print function to support print instruction from other modules * clang format * fix cppcheck error * fix cppcheck error * chang to make submodule to be owned by program instead of modules * clang format * add an unit test for copy of a program with sub_modules * clang format * remove the parent_module member variable from the module class * clang format * add unit test for serialization of program with submodules * clang format * Fix bug where instructions were not printed when doing TRACE_EVAL * clang storage of modules from map to list * clang format * Formatting * change the program assign function * clang format * code cleanup * clang format * backup code * clang format * remove unnecessary code * clang format * add module print function * code backup * refine the module::print function * refine the module:to_value() function * code backup * backup code changes * code backup * remove to_value and from_value function from the module class * rename a function * rename the if operator * refine the if operator * refine the print function of module and program * code backup * code backup * fix a build warning * fix overload of compute_shape function * code backup * fix unit test error * fix cppcheck error * fix the issue related to the overload of compute_shape * fix review comments * fix cppcheck error * change the return name of if_op to be if * clang format * fix two unit tests * clang format * remove the unused compute_op function * clang format * fix clang tidy format * clang format * enhance the validate function and uncomment a unit test * clang format * remove unnecessary code * clang format * fix a hang issue related to the valid function * fix an issue in replace_refs * clang format * fix review comments * clang format * fix cppcheck error * add a unit test for more code coverage * clang format * fix review comments and add test for more code coverage * clang format * fix cppcheck error * fix a cppcheck error * clang format * fix cppcheck error * clang format * fix review comments * clang format Co-authored-by:
Paul <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 14 Dec, 2020 1 commit
-
-
Paul Fultz II authored
* Add flag to enable cpu backend * Make buffers shared * Enable optimizations * Add onednn * Formatting * Formatting * Add dnnl header * Formatting * Rewrite rnn first * Formatting * Call reference implementation * Formatting * Make literal data shared * Formatting * Add convolution * Formatting * Compensate for dilation * Formatting * Use name/make_op instead * Formatting * Rename gemm header * Formatting * Add dnnl convolution/gemm operators * Formatting * Add eliminate_contiguous * Add faster pointwise operators * Formatting * Formatting * Formatting * Add dnnl op class * Formatting * Add add op * Formatting * Add concat operator * Formatting * Add more ops * Create descriptor during finalization * Formatting * Dont rewrite pooling * Enable memory coloring * Formatting * Add output aliases * Formatting * Fix errors * Formatting * Convert literals * Add missing file * Remove batch_norm * Formatting * Use strides * Formatting * Add some debug checks * Formatting * Fix big in adjusting shape for gemm * Formatting * Fix fallback dot operator * Zero initialize buffers * Add suport for group convolutions * Formatting * Make adjust allocation target independent * Formatting * Enable adjust_allocation for gpu/cpu * Formatting * Add copy to allocation model * Formatting * Add copy operator * Formatting * Better handling of output parameters in adjust_allocation * Formatting * Build with dnnl * Make dnnl required * Fix compile error * Tidy fixes * Formatting * Tidy fixes * Formatting * Fix more tidy issues * Formatting * Add mul op * Add mul op * Set c compiler to clang as well * Compensate for normalized compute shape * Formatting * Fix cppcheck errors * Formatting * Add onednn library to hcc * Guard clang pragmas * Disable cpu mode for gcc for now * Leave it enabled it for gcc 7 * Fix cppcheck suppresion * Fix compile error on gcc 5 * Remove unused code Co-authored-by:
Shucai Xiao <shucai.xiao@amd.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 08 Dec, 2020 1 commit
-
-
Paul Fultz II authored
* Load op when serializing * Formatting * Add missing clip field * Use make_op almost everywhere * Formatting * More make ops for rnns * Get rid of spaces * Formatting * Remove operators headers * Formatting * Remove unused op headers * Increase line threshold
-
- 02 Dec, 2020 1 commit
-
-
Paul Fultz II authored
-
- 16 Nov, 2020 1 commit
-
-
Shucai Xiao authored
* add a pass to normalize ops * clang format * add unit tests * clang format * code backup * clang format * code backup * clang format * add support for slice in the normalize_op function * clang format * add operation method api for whether we need to call normalize_op * clang format * fix review comments * clang format * rename a function namejJ * clang format * change compute_shape to normalize_compute_shape for corresponding operators * clang format * remove unnecessary code * fix various issues * clang format * add attributes to operators having axis attributes * clang format * fixed jenkins build error * clang format * fix a bug related to slice * clang format * code backup * clang format * code backup * clang format * rename a file * fix cppcheck error * some code refinement * clang format * change attributes to enum * clang format * refine the enum * clang format * remove unnecessary code * add unit tests for more code coverage and fixed a bug * clang format * remove unnecessary changes * change normalize_axes to normalize * clang format * revert back the changes in broadcast.hpp * rename normalize_axes to normalize * fix review comments * clang format * Add flag to enable cpu backend * Make buffers shared * Enable optimizations * Formatting * Try to avoid ambiguous assign in value class * fixed a build error * clang format * add the normalize_ops pass to the ref target * refactor program to module to normalize_ops pass Co-authored-by:
Paul <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 16 Sep, 2020 1 commit
-
-
Paul Fultz II authored
* Add pointwise attribute * Formatting * Fix compilation * Remove unused variable * Formatting Co-authored-by:mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 19 Aug, 2020 1 commit
-
-
Paul Fultz II authored
* Add initial serialization * Formatting * Add unit tests * Formatting * Add tests for serialization * Formatting * Use or not and * Add value test * Formatting * Add more tests * Add shape serialization * Formatting * Add serializtion for literal and argument * Formatting * Add from and to value to operatation * Formatting * Serialize empty types * Formatting * Tidy fixes * Formatting * Fix tidy issues * Formatting * Reformat value type macro * Formatting * Handle enum types * Formatting * Use const ref * Update * Add tests for to_value/from_value * Formatting * Add more tests * Rewrite test to avoid redundant assignment
-
- 20 Nov, 2019 2 commits
- 04 May, 2019 1 commit
-
-
Paul authored
-
- 02 May, 2019 4 commits
- 05 Feb, 2019 1 commit
-
-
Paul authored
-
- 16 Jan, 2019 2 commits
- 03 Jan, 2019 1 commit
-
-
Paul authored
-