- 12 Jul, 2022 1 commit
-
-
Ted Themistokleous authored
Since onnx's Mod operation changes behavior based on whether the fmod flag is set, functionality is now split to mirror python's fmod() functionality. For the integer mod case, I had to use a componsition of std::fmod() so that floating and integral types are all handled while also perserving sign to be identital to the python numpy::mod() case.
-
- 08 Jul, 2022 1 commit
-
-
Ted Themistokleous authored
Initial operator for mod implimentation and test cases for integer and floating based types. Need to use fmod from stdlib for floating point types. half_float::half thankfully is specced to the use the existing std::fmod() call when looking at the half.hpp implimentation. fmod_flag should mirror the onnx fmod attribute. Right now using a floating point type without setting that on the user side to true will result in an exception. Ref ticket #1283 Double,float and half use their own typename specification to achieve this, otherwise we rely on the % operator to get the integer remainder while preserving sign of the dividend to the result.
-
- 29 Jun, 2022 1 commit
-
-
Charlie Lin authored
Allows PyTorch converted version of SSD-resnet34 to work
-
- 22 Jun, 2022 1 commit
-
-
Ted Themistokleous authored
Updated each source file in the repo with the existing license.
-
- 29 Apr, 2022 1 commit
-
-
turneram authored
Add ref and gpu implementations for ONNX op GatherND Resolves #1032
-
- 19 Apr, 2022 1 commit
-
-
Charlie Lin authored
Refactored the reference implementation of pooling to something like what was done for roialign. Moved the reference implementation of pooling from targets/ref/lowering.cpp to pooling.hpp. Removed cpu_pooling, instead using reference pooling in pooling.hpp Added reference implementation of Lp Norm pooling and the global version Added tests for the Lp Norm Pooling
-
- 11 Apr, 2022 1 commit
-
-
bpickrel authored
Change the "scatter" struct and op to a base/child set of three: scatter_none, scatter_add, scatter_mul to mirror Onnx' ScatterElements op. and its three reduction options. (Onnx Scatter op is deprecated and is equivalent to scatter_none.) Provides both a reference op. and update to Onnx parsing. Tests updated and new test case added.
-
- 04 Mar, 2022 1 commit
-
-
bpickrel authored
Changed the pooling values for two structures from strings to specialized enum classes. Many test and operator parsing changes to support this. Introduces one new source file, op_enums.cpp.
-
- 03 Mar, 2022 1 commit
-
-
turneram authored
Add onnx parser and ref and gpu implementations of ONNX op ScatterND
-
- 02 Mar, 2022 1 commit
-
-
Charlie Lin authored
Implements the IsNaN operator, ref, gpu, and onnx parser.
-
- 25 Nov, 2021 1 commit
-
-
Shucai Xiao authored
Resolves a problem in parsing the ssd-10 model. The problem is, after inserting contiguous in the auto_contiguous pass, standard output shape of some operators becomes non-standard. Then, if the next operator requires standard input shape, an exception is throw. For example, if we pass the following model: Input (standard shape) -> transpose (transposed) -> softmax (transposed) -> transpose (standard) -> gather. It works fine, and no contiguous is required. In the auto_contiguous pass, a contiguous is inserted after the first transpose. Then we need to replace the first transpose with the contiguous and recompute all shapes. When it comes to the gather operator, its input is a transposed shape, and an exception is thrown. The solution is in the recompute_shape() function. If it is called by the auto_contiguous pass and shape of an instruction is changed, and the shape is non_standard, we do not recompute shape of its output. The reason is: since its output shape is non_standard, a contiguous op will be added after the instruction, which will recompute shape for later operators.
-
- 28 Oct, 2021 1 commit
-
-
Shucai Xiao authored
This PR is the ref implementation of the nonmaxsuppression operator. It always returns the max possible output shape, which is the problem tracked in issue #948.
-
- 20 Oct, 2021 1 commit
-
-
Shucai Xiao authored
Implementation of the roialign operator. For now, we have only the ref implementation. When we run a model on the GPU, we fall back the execution to use the ref implementation.
-
- 19 Oct, 2021 1 commit
-
-
Paul Fultz II authored
Adds a pass to fuse pointwise operators into one "pointwsie" op that has a submodule which does the calculation.
-
- 08 Oct, 2021 1 commit
-
-
Shucai Xiao authored
This PR is for the nonzero operator with static output shape. Co-authored-by:
Paul Fultz II <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 01 Oct, 2021 1 commit
-
-
turneram authored
Add multinomial op to onnx parser with ref and GPU implementations. The onnx parser inserts a literal of shape {batch_size, sample_size} with random values in the range [0, 1) and inserts existing ops to compute the cumulative density function. The multinomial operator multiplies the random values by the sum of the CDF and returns the index of the first element of the CDF that is greater than the result, representing samples randomly drawn from [0, class_size) that follow the log-probability distribution. Resolves #821 Co-authored-by:Shucai Xiao <shucai@gmail.com>
-
- 07 Sep, 2021 1 commit
-
-
Shucai Xiao 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 fp16 and fp8 quantization to include subgraph and parameters fix unit test to use qdq operators for int8 quantization Co-authored-by:turneram <alturner@amd.com>
-
- 02 Sep, 2021 2 commits
-
-
turneram authored
Implement the Where operator for the CPU and GPU. This is for better performance.
-
Shucai Xiao authored
* add topk operator doe ref, cpu and gpu * Hash modules for quicker lookup of modules * add onnx unit test * add unit tests for the topk operator Co-authored-by:
Paul <pfultz2@yahoo.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 24 Aug, 2021 1 commit
-
-
Umang Yadav authored
* rename broadcast and multibroadcast output_lens attribute to out_lens attribute, and change tests and source code to reflect the same * change the reshape attribute from dims to out_lens * change transpose attribute's name from dims to perm to reflect better meaning * use permutation instead of perm for transpose clang formaating * use dims instead of out_lens for reshape clang formatting
-
- 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
-
- 28 Jun, 2021 1 commit
-
-
Umang Yadav authored
Use C++ functions instead of hardcoded gold vales for comparison with MIGraphX ops test evaluation (#863) * use c++ functions instead of hardcoded gold vales for comparison with migraphx * binary_ops transform * fix cppcheck * format fixes * rebase and fix tidy tidy fixes formatting * float type trigonometric functions * formatting * tidy fixes and review comments clang format * tidy fix
-
- 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>
-
- 25 Jun, 2021 3 commits
-
-
Shucai Xiao authored
-
Shucai Xiao authored
-
Shucai Xiao authored
-
- 08 Jun, 2021 1 commit
-
-
Cagri Eryilmaz authored
* init reverseOp branch: ref op + ref test. WIP * first passing basic test * cleanup * additional axis implementation * additional test * ref op implementation vec to int for axis * ref op test change for axis * initial gpu files and test * updates to implementation and test * fixed some issues * clang format * cleanup * formatting * removing comments * remove local size, back to default * update tests: replace with std functions * multiple axis for reverse op * fix a build error * clang format * more tests * fix a bug for the reverse device function * clang format * fix a bug * clang format * ref test updates, multiaxis * formatting Co-authored-by:
Shucai Xiao <Shucai.Xiao@amd.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 26 May, 2021 1 commit
-
-
Shucai Xiao authored
* add the operator step * clang formatJ * add unit tests * clang format * add more unit test for step op * clang format * add more unit tests * clang format * fix review comments * clang format * rename two unit tests Co-authored-by:Paul Fultz II <pfultz2@yahoo.com>
-
- 26 Apr, 2021 1 commit
-
-
turneram authored
* Add scan struct; add initial tests; initial algorithm by cases; refactor into one algorithm; clean up code * Rename; restructure; begin adding additional attributes * refactor to use shape_for_each; temporarily drop reverse mode * Add back reverse mode with shape_for_each_reverse; update tests; add axis bounds check * Begin adding to onnx parser * Add to onnx parser * Fix onnx test * Fix CI warnings * Update algorithm to use slice+par_for; update gen_onnx; remove .o files; remove redundant axis normalizing * Add exclusive mode * Add reverse mode * Remove .pyc file * Fix warning * Remove shape_for_each_reverse; clean up pointer usage for exclusive cases * Remove unused variable * Fix onnx test * Add test case to op_shape_test * Formatting * Formatting * Fix tidy warning * Formatting * Formatting * Formatting * Increase code coverage * Formatting * refine the script for creating the cumsum onnx file * Alphabetize includes for operators.hpp * Revise onnx test * Remove redundant bounds check * Formatting and style * Alphabetize tests * Remove duplicate tests from merge * Fix tidy warning for sub_test Co-authored-by:
Shucai Xiao <Shucai.Xiao@amd.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 23 Apr, 2021 1 commit
-
-
Shucai Xiao authored
* add support for axes inputs for sequeeze/unsqueeze/reduce_sum * clang format * fix build problems * backup code changes * clang format * 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 * 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 * fix cppcheck error * adding installing the onnx package * resolve no protobuf compiler * fix cppcheck error * add unit tests for 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 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>
-
- 05 Mar, 2021 1 commit
-
-
kahmed10 authored
* fix relu6 * add more transposes * add multi output * formatting * add tests * formatting * fix tests * change to_nchw for outputs * add python api * fix cppcheck * remove variable * fix lambda * add multi_output test * add more tests and merge * fix help message * debugging work * fix valid op string * formatting * manual merge * mark function as const Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com> Co-authored-by:
Shucai Xiao <shucai@gmail.com>
-
- 26 Feb, 2021 1 commit
-
-
Cagri Eryilmaz authored
* changes for not operator * changed name of the op from unary_not to not * Added tests for op and onnx parsing * reordering not_test in onnx_test.cpp * not operator -- gpu implementation * added bool test for not operator * Added test and missing links for not operator on GPU * typo fix * adding .onnx test files for not operator * formatting Co-authored-by:
Shucai Xiao <shucai@gmail.com> Co-authored-by:
mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 19 Jan, 2021 1 commit
-
-
Shucai Xiao authored
* add the and operator * clang format * add unit tests for the and operator * clang format * change the and name to logical_and and add the logical_or, logical_xor * clang format * add onnx unit tests for or and xor * add more unit tests
-
- 09 Dec, 2020 1 commit
-
-
Paul authored
-
- 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
-
- 11 Nov, 2020 1 commit
-
-
Shucai Xiao authored
* code backup * clang format * change corresponding tool files * clang format Co-authored-by:mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-
- 04 Nov, 2020 1 commit
-
-
Paul Fultz II authored
* Add all_targets cmake target * Rename target * Add ref target * Rename tests * Refactor compiler target * Formatting * Verify for every target * Formatting * Add verify test suite * Formatting * Add initial test programs * Formatting * Add rnn tests * Formatting * Validate gpu * Formatting * Remove old gpu tests * Fix gpu tests * Fix ref error * Fix tidy issues * Formatting * Tidy fixes * Fix header in python api * Rename to ref * Use ref in verify_onnx * Fix tidy issue * Build with verbose on * Fix typo * Remove verbose * rename some cpu prefix to ref Co-authored-by:Shucai Xiao <Shucai.Xiao@amd.com>
-
- 15 Oct, 2020 1 commit
-
-
turneram authored
* Added greater and less operators * Fixed ops_test.cpp * Set commutative to false for less, greater * Refactored parse_equal/less/greater into parse_compare_op * Removed unnecessary function attributes() from greater.hpp/less.hpp * Added op_name arguments * Removed local settings * Formatting * Missing comma * Formatting * Formatting * Formatting * Formatting * Formatting * Missing space Co-authored-by:Paul Fultz II <pfultz2@yahoo.com>
-
- 31 Aug, 2020 1 commit
-
-
Shucai Xiao authored
* support pooling ceil_mode * clang format * add unit test for pooling ceil mode * clang format * fix review comments * clang format * add more unit tests and fixed a bug in cpu pooling implementation * clang format * add one more unit test * clang format * fix cppcheck error * fix cppcheck error * fix cppcheck error * fix review comments * clang format * remove the padding_mode attribute in pooling * clang format * clang format * fix review comments * clang format * fix a cppcheck error * fix review comments Co-authored-by:mvermeulen <5479696+mvermeulen@users.noreply.github.com>
-