1. 13 Oct, 2022 1 commit
  2. 19 Aug, 2022 1 commit
  3. 04 Aug, 2022 1 commit
    • Charlie Lin's avatar
      Dynamic ref convolution op (#1224) · 67f77ac1
      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: default avatarChris Austen <causten@users.noreply.github.com>
      67f77ac1
  4. 22 Jun, 2022 1 commit
  5. 06 May, 2022 1 commit
  6. 19 Apr, 2022 1 commit
    • Charlie Lin's avatar
      Refactor Pooling and implement ONNX LpPool and GlobalLpPool (#1152) · 764273e4
      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
      764273e4
  7. 12 Apr, 2022 1 commit
  8. 04 Mar, 2022 1 commit
    • bpickrel's avatar
      Mode as enum for pooling and roi_align (#1091) · a2e90b5d
      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.
      a2e90b5d
  9. 24 Feb, 2022 1 commit
    • Paul Fultz II's avatar
      Some cmake fixes and updates (#1088) · cd0a4aa5
      Paul Fultz II authored
      Make doc/CMakeLists.txt standalone
      Switch to use rocm-cmake modules for document generation
      Add CONFIGURE_DEPENDS to file(GLOB) so it will update without an explicit cmake run
      Add STRINGS property for build type to make it easier to switch build types with ccmake
      Various fixes and improvements
      cd0a4aa5
  10. 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
  11. 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
  12. 16 Sep, 2021 1 commit
    • Shucai Xiao's avatar
      Loop operator (#853) · a275f590
      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: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      a275f590
  13. 31 Aug, 2021 1 commit
    • kahmed10's avatar
      Changes to support both OneDNN and ZenDNN builds (#929) · 0859fe90
      kahmed10 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
      
      * Improve handling of exceptions in test driver
      
      * Formatting
      
      * Auto print exception
      
      * Formatting
      
      * Fork each test case
      
      * Formatting
      
      * Exclude gcc 5 debug build
      
      * Fix tidy issues
      
      * Add color
      
      * Formatting
      
      * Create driver class
      
      * Formatting
      
      * Customize test_case names
      
      * Formatting
      
      * Report status from forked processes
      
      * Formatting
      
      * Update the verify driver
      
      * Formatting
      
      * Print out failed tests
      
      * Formatting
      
      * Fix tidy issues
      
      * Formatting
      
      * Expect passing
      
      * Improve failure reporting on non-linux systems
      
      * Fix ifdef
      
      * Always allocate
      
      * Fix tidy warning
      
      * Flush code code cov
      
      * Formatting
      
      * Fix tidy
      
      * Add const
      
      * Check if weak symbols is linked
      
      * Formatting
      
      * initial progress
      
      * formatting
      
      * Add continue flag
      
      * Formatting
      
      * Set exe name
      
      * Use stringstream and use quotes
      
      * rename vars
      
      * formatting
      
      * more testing
      
      * formatting
      
      * Fix bug when using --continue in the tests
      
      * Formatting
      
      * revert gemm
      
      * revert dot file
      
      * rename var
      
      * update cmakelists and deconv compute
      Co-authored-by: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      0859fe90
  14. 09 Jun, 2021 1 commit
    • kahmed10's avatar
      Asym pad refactor (#791) · 9a5e0c06
      kahmed10 authored
      
      
      * alternative impl
      
      * formatting
      
      * add gpu pass to insert pad
      
      * formatting
      
      * update onnx test, still need cleanup
      
      * formatting
      
      * update tf_test
      
      * modify existing tests
      
      * formatting
      
      * remove print
      
      * code cleanup
      
      * formatting
      
      * code cleanup
      
      * formatting
      
      * fix tidy and cppcheck
      
      * remove variable
      
      * add test
      
      * formatting
      
      * add test and address comments
      
      * formatting
      Co-authored-by: default avatarShucai Xiao <shucai@gmail.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      9a5e0c06
  15. 05 Apr, 2021 1 commit
    • Shucai Xiao's avatar
      Module build exec (#765) · 41c0487b
      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: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      41c0487b
  16. 08 Feb, 2021 1 commit
    • Paul Fultz II's avatar
      Add a pass to remove unsupported data types (#738) · 3d24a21c
      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
      Co-authored-by: default avatarShucai Xiao <shucai@gmail.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      3d24a21c
  17. 18 Jan, 2021 1 commit
    • kahmed10's avatar
      Refactor to use tune_axis function (#713) · 651ea160
      kahmed10 authored
      * initial testing
      
      * initial testing
      
      * add dequantize
      
      * formatting
      
      * add tests
      
      * formatting
      
      * revert file
      
      * add parse files
      
      * formatting
      
      * add axis tuning and fix tests
      
      * formatting
      
      * add tests and fix int8
      
      * formatting
      
      * fix tidy
      
      * test with int32
      
      * add default name and change string to upper
      
      * formatting
      
      * remove boost call
      
      * refactor to use tune_axis)
      
      * formatting
      651ea160
  18. 14 Dec, 2020 1 commit
    • Paul Fultz II's avatar
      Use dnnl for cpu backend (#688) · 406afeb8
      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: default avatarShucai Xiao <shucai.xiao@amd.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      406afeb8
  19. 16 Nov, 2020 1 commit
    • Shucai Xiao's avatar
      Normalize ops (#667) · 8443ecd1
      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: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      8443ecd1
  20. 11 Nov, 2020 1 commit
  21. 04 Nov, 2020 1 commit
    • Paul Fultz II's avatar
      Split cpu and reference implementation (#671) · 500d9441
      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: default avatarShucai Xiao <Shucai.Xiao@amd.com>
      500d9441