1. 02 Mar, 2022 1 commit
  2. 09 Dec, 2021 1 commit
    • Shucai Xiao's avatar
      Softmax perf optimization (#1014) · 2e337c7f
      Shucai Xiao authored
      Changed the number of threads in a block from 256 to 128
      Increased the max number of blocks in the kernel from 256 to 1M.
      For the case that the axis is the last dimension, we removed the computation of index since it is not required.
      
      With these change, we can get about 2x speedup compared to the develop branch for the softmax op used in the BertSquad model.
      2e337c7f
  3. 08 Oct, 2021 1 commit
  4. 01 Oct, 2021 1 commit
    • turneram's avatar
      Add multinomial op (#954) · 0b7672d7
      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: default avatarShucai Xiao <shucai@gmail.com>
      0b7672d7
  5. 27 Sep, 2021 1 commit
  6. 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
  7. 02 Sep, 2021 2 commits
  8. 09 Aug, 2021 1 commit
  9. 09 Jul, 2021 1 commit
  10. 08 Jul, 2021 3 commits
  11. 25 Jun, 2021 4 commits
  12. 11 Jun, 2021 1 commit
  13. 08 Jun, 2021 1 commit
    • Cagri Eryilmaz's avatar
      Reverse Op (#846) · 9c54fc4f
      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: default avatarShucai Xiao <Shucai.Xiao@amd.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      9c54fc4f
  14. 03 May, 2021 1 commit
  15. 05 Mar, 2021 1 commit
  16. 26 Feb, 2021 1 commit
  17. 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
  18. 19 Jan, 2021 1 commit
    • Shucai Xiao's avatar
      Logical ops (#718) · 4d46cbdb
      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
      4d46cbdb
  19. 08 Jan, 2021 1 commit
    • Paul Fultz II's avatar
      Revamp CI infrastucture (#706) · ceb4ca09
      Paul Fultz II authored
      
      
      * Add build and test github workflow
      
      * Fix cget command
      
      * Remove def-requirements.txt
      
      * Add tmate session to debug workflow
      
      * Run tmate session after installing dependencies
      
      * Print date periodically
      
      * Add clang tidy action
      
      * Seperate build and run container in two different jobs
      
      * Run bash script
      
      * Remove interactive flag
      
      * Try to mount the files
      
      * Try to use the github workspace
      
      * WIthout double braces
      
      * Use env variable
      
      * Pipe bash script in
      
      * Run using hip-clang
      
      * Use correct path
      
      * Add verbose
      
      * Remove j flag
      
      * Only run for onnx file to debug
      
      * Manually run clang-tidy
      
      * Remove quiet flag
      
      * Print header file
      
      * Printout environment
      
      * Remove extra defines
      
      * Remove fixits and config flag
      
      * Show ldd
      
      * Add tmate session
      
      * Run onnx protobuf first
      
      * Generate proto for tensorflow
      
      * Update cppcheck version
      
      * Fix some cppcheck issues
      
      * Add const
      
      * Cppcheck fixes
      
      * Formatting
      
      * Fix more cppcheck issues
      
      * Run two jobs
      
      * Cache analysis and run format checking
      
      * Fix yaml issues
      
      * Fix yaml issues
      
      * Fix indentation
      
      * Switch to hip-clang for main docker file
      
      * Use hip-clang in the readme
      
      * Fixes for jenkins
      
      * Use ccache to build
      
      * Combine file
      
      * Set restore keys
      
      * Change stage name
      
      * Build with ccache
      
      * Add missing dependency for ccache
      
      * Build debug with codecov
      
      * Fix workflow syntax
      
      * Fix list
      
      * Use quotes
      
      * Got to correct build path
      
      * Install lcov
      
      * Use sudo
      
      * Echo all commands
      
      * Setup tmate
      
      * Add verbose output
      
      * Build with cmake directly
      
      * Add pthread flag
      
      * Remove python config
      
      * Continue on error
      
      * Use on or off for cmake flag
      
      * Use always upload cache
      
      * Verbose output
      
      * Verbose output from build
      
      * Build one target
      
      * Reduce debug symbols
      
      * Increase garbage collection
      
      * Remove dmesg
      
      * Increase it to 20
      
      * Update rocm cmake version
      
      * Remove jobs from jenkins
      
      * Run on all 3 ubuntus
      
      * Remove gcc 5 jobs
      
      * Dont add flag on 16.04
      
      * Only upload coverage on 18.04
      
      * Dont build for ubuntu 20.04
      
      * Use matrix.os
      
      * Use O2 for hip-clang since lower optimizations are broken
      
      * Use rocm 3.0
      
      * Pass ccache as cmake variable instead of env variable
      
      * Build miopen from source
      
      * Show ccache statistics
      
      * Print log information
      
      * Set compression level
      
      * Use hash dir
      
      * Set hashdir
      
      * Install clang ocl from system
      
      * Up compression level
      
      * Add locale
      
      * Increase cache size to 1G
      
      * Lower compression level to 9
      
      * Remove split dwarf
      
      * Remove Og
      
      * Add back Og
      
      * Seperate debug and codecov
      
      * Add missing backlash
      
      * Garbage collect more often
      
      * Add missing locales package
      
      * Use Os
      
      * Install onednn in docker and run tests
      
      * Include target headers in tests
      
      * Increase timeout
      
      * Remove if condtion
      
      * Make flag public
      
      * Suppress memory leaks in onednn
      
      * Use equal
      
      * Add gh annotations
      
      * Update rocm-cmake version
      
      * Add ldconfig
      Co-authored-by: default avatarShucai Xiao <shucai@gmail.com>
      ceb4ca09
  20. 20 Nov, 2020 1 commit
    • Paul Fultz II's avatar
      Fuse skip layernorm (#683) · 1bfb147d
      Paul Fultz II authored
      
      
      * Unify the vectorized and non-vectorized path
      
      * Formatting
      
      * Make fusion easily extendable
      
      * Add skip layernorm fusion
      
      * Formatting
      
      * Call correct layernorm function
      
      * Fix compile errors
      
      * Add DCE
      
      * Add test for skip layernorm
      
      * Formatting
      
      * Remove unused typedef
      
      * Formatting
      
      * Fix tidy issues
      
      * Formatting
      Co-authored-by: default avatarShucai Xiao <shucai.xiao@amd.com>
      1bfb147d
  21. 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
  22. 15 Oct, 2020 1 commit
    • turneram's avatar
      Added greater and less operators (#660) · 48ffbfa5
      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: default avatarPaul Fultz II <pfultz2@yahoo.com>
      48ffbfa5
  23. 30 Sep, 2020 1 commit
    • Paul Fultz II's avatar
      Add hip clang builds to jenkins (#651) · f28a62ea
      Paul Fultz II authored
      * Make global variables const
      
      * Tidy fixes
      
      * Disable some lints
      
      * Formatting
      
      * Fix tidy const
      
      * Formatting
      
      * Add missing const keywords
      
      * Formatting
      
      * More fixes
      
      * Fix remaining tidy issues
      
      * Formatting
      
      * Fix rocblas function call
      
      * Formatting
      
      * Fix nodiscard warnings
      
      * Formatting
      
      * Use named parameters
      
      * Remove overload
      
      * Add overload
      
      * Remove noncps
      
      * Use named param for node
      
      * Add auto register header
      
      * Use named parameters
      
      * Refactor jenkinsfile
      
      * Fix shadow
      
      * Add missing body variable
      
      * Add more const methods
      
      * Add hip-clang docker builds
      
      * Remove comments
      
      * Add clang-format
      
      * Add more const
      
      * Formatting
      
      * Rename stage
      
      * Disable check
      
      * Add another const
      
      * Add python 2 dev packages
      
      * Add sphinx to dockerfile
      f28a62ea
  24. 31 Aug, 2020 1 commit
  25. 27 Aug, 2020 1 commit
    • Shucai Xiao's avatar
      Bool type and equal operator (#603) · 59b80d4e
      Shucai Xiao authored
      
      
      * add bool type
      
      * code backup
      
      * code backup
      
      * clang format
      
      * fix build warnings
      
      * clang format
      
      * add the equal operator
      
      * add the equal operator
      
      * clang format
      
      * remove unnecessary code
      
      * refine unit tests
      
      * clang format
      
      * fix review comments and a bug
      
      * clang format
      
      * additional changes
      
      * clang format
      
      * fix cppcheck error
      
      * add bool type in c api
      
      * fix cppcheck error
      
      * fix review comments
      
      * fix cppcheck error
      
      * fix a build error related to gcc
      
      * fix cppcheck error
      
      * fix cppcheck error
      
      * added the equal operator to register list
      
      * add parsing boolean type
      
      * clang format
      
      * fix bool type issue for python output
      
      * clang format
      
      * add support for automatic multibroadcast of the equal operator
      
      * additional unit tests for more code coverage
      
      * clang format
      
      * missing an onnx file
      Co-authored-by: default avatarPaul Fultz II <pfultz2@yahoo.com>
      59b80d4e
  26. 25 Aug, 2020 1 commit
    • Paul Fultz II's avatar
      Improve layernorm performance (#613) · 56b3bf58
      Paul Fultz II authored
      * Use increment instead of division to compute register offset
      
      * Formatting
      
      * Limit layernorm to 1024 elements
      
      * Formatting
      
      * Add verification to driver
      
      * Formatting
      
      * Remove early return
      
      * Use block_size 256
      
      * Vectorize the kernel
      
      * Formatting
      
      * Convert to vector type
      
      * Add layernorm tests
      
      * Formatting
      
      * Formatting
      
      * Refactor layernorm to run both algos
      
      * Formatting
      
      * Fix compile error
      
      * Fix tidy warnings
      
      * Formatting
      
      * Add layernorm function
      
      * Formatting
      56b3bf58
  27. 14 Aug, 2020 1 commit
    • kahmed10's avatar
      Layernorm onnx support (#599) · 2c5d5fee
      kahmed10 authored
      
      
      * fix pad calc
      
      * bert tf passes correctness
      
      * formatting
      
      * add test
      
      * formatting
      
      * remove comment
      
      * add inline
      
      * formatting
      
      * fix order for literal
      
      * formatting
      
      * test no mul_add
      
      * formatting
      
      * debug layernorm
      
      * debug layernorm
      
      * manual merge
      
      * more progress
      
      * formatting
      
      * remove miopen batchnorm
      
      * remove headers
      
      * Fix compile error with no dpp reductions
      
      * fix indices
      
      * formatting
      
      * change matcher
      
      * formatting
      
      * remove binds
      
      * formatting
      
      * disable tf matcher
      
      * formatting
      
      * use fast div
      
      * formatting
      
      * fix matcher
      
      * formatting
      
      * remove comment
      
      * move find_matches
      
      * add assert
      
      * formatting
      
      * fix deepcode issue
      Co-authored-by: default avatarPaul <pfultz2@yahoo.com>
      Co-authored-by: default avatarShucai Xiao <shucai.xiao@amd.com>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      2c5d5fee
  28. 12 Aug, 2020 1 commit
  29. 10 Jul, 2020 1 commit
  30. 29 May, 2020 1 commit
  31. 20 May, 2020 1 commit
    • Shucai Xiao's avatar
      Rnn variable seq lengths (#517) · 90200619
      Shucai Xiao authored
      
      
      * code backup
      
      * clang format
      
      * fix compiling errors
      
      * clang format
      
      * rename a few files
      
      * rename a few files
      
      * fix variable bugs
      
      * clang format
      
      * add an operator to shift input sequences
      
      * clang format
      
      * fixed a bug
      
      * clang format
      
      * fixed a bug
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * refine code related lstm operator optimization
      
      * clang format
      
      * fix various bugs
      
      * clang format
      
      * fixed a bug in rewrite_lstm
      
      * clang format
      
      * fixed another bug
      
      * refine two operator names
      
      * clang format
      
      * refine file names
      
      * fix cppcheck error
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * fix cppcheck error
      
      * fixed review comments
      
      * clang format
      
      * add unit tests
      
      * clang format
      
      * add unit tests
      
      * clang format
      
      * refine unit tests for better coverage
      
      * clang format
      
      * fixed a bug
      
      * fix cppcheck error
      
      * fix review comments
      
      * clang format
      
      * rename two operators according to review comments
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix review comments
      
      * fix a cppcheck error
      
      * clang format
      
      * fix review comments
      
      * clang format
      Co-authored-by: default avatarShucai Xiao <scxiao@prj47-rack-99.local.lan>
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      90200619
  32. 15 May, 2020 1 commit
    • kahmed10's avatar
      Add gelu optimization (#521) · 0079028a
      kahmed10 authored
      
      
      * fix pad calc
      
      * bert tf passes correctness
      
      * formatting
      
      * add test
      
      * formatting
      
      * remove comment
      
      * add inline
      
      * formatting
      
      * fix order for literal
      
      * formatting
      
      * add test for gelu
      
      * formatting
      
      * added add_gelu fusion
      
      * add files
      
      * formatting
      
      * remove layernorm opt
      
      * revert reduce file
      
      * add gelu_fn and tests
      
      * formatting
      
      * fix matcher, remove extra tests
      
      * formatting
      
      * fix matcher
      
      * add used_once
      
      * formatting
      
      * start on new gelu
      
      * formatting
      
      * add matchers in fuse_ops
      
      * formatting
      
      * add dce to fix add_gelu
      
      * add simplify_rsqrt and test
      
      * formatting
      
      * debugging value for matcher
      
      * formatting
      
      * add more to matchers
      
      * formatting
      
      * fix errors
      
      * remove onnx gen
      
      * add any_arg, change matchers to use either_arg
      
      * formatting
      
      * formatting
      
      * add used_once
      
      * formatting
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      0079028a
  33. 11 May, 2020 1 commit
  34. 21 Apr, 2020 1 commit