1. 15 Jun, 2021 1 commit
    • Shucai Xiao's avatar
      Int8 gemm support (#811) · 39bc6161
      Shucai Xiao authored
      
      
      * add a flag to indicate int8x4 input format
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * remove log info
      
      * remove unnecessary changes
      
      * fix cppcheck error
      
      * add unit tests to have more code coverage
      
      * clang format
      
      * add debug info
      
      * remove log info
      
      * fix cppcheck error
      
      * clang format
      
      * clang format
      
      * add one more unit tests for more scenarios
      
      * fix cppcheck error
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * rename p to m
      
      * fix review comments
      
      * refine unit tests
      
      * clang format
      
      * refine unit tests and fixed a bug
      
      * clang format
      
      * fix build error related to rocm4.2
      
      * fix a bug related to alpha and beta
      
      * refine two unit tests related to int8_gemm
      
      * fix cppcheck error
      
      * refine unit test to pass on mi100
      
      * add unit test for packing int8 args
      
      * clang format
      
      * change unit tests back
      
      * disable some unit tests for gpu
      
      * clang format
      
      * refine unit tests to run on mi100
      
      * clang format
      
      * refine unit tests
      
      * refine unit tests
      
      * clang format
      
      * change back a unit test
      Co-authored-by: default avatarmvermeulen <5479696+mvermeulen@users.noreply.github.com>
      39bc6161
  2. 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
  3. 26 Mar, 2021 1 commit
  4. 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
  5. 06 Jan, 2021 1 commit
    • Shucai Xiao's avatar
      Module impl (#678) · c9b86f1c
      Shucai Xiao authored
      
      
      * add an api get_main_module
      
      * clang format
      
      * modify onnx unit test for module
      
      * clang format
      
      * refactor ops unit test with the get_main_module
      
      * clang format
      
      * code backup
      
      * clang format
      
      * refine module c api
      
      * add python api for module
      
      * clang format
      
      * fix a python api issue
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * refine unit tests changes
      
      * clang format
      
      * code backup
      
      * code backup
      
      * clang format
      
      * defer some changes to later PRs
      
      * change return of get_main_module from ref to pointer
      
      * clang format
      
      * add unit tests for the get_main_module_api
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * add more unit tests for more code change coverage
      
      * clang format
      
      * fixed a unit test error
      
      * clang format
      
      * fix unit test
      
      * clang format
      
      * code backup
      
      * code change for more code coverage
      
      * change program to module in various passes and matcher
      
      * clang format
      
      * modify the pass API
      
      * code backup
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * Add option to no generate a destroy method
      
      * Formatting
      
      * fix some review comments
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * clang format
      
      * code backup
      
      * code backup
      
      * clang format
      
      * fix cppcheck errors
      
      * clang format
      
      * clang format
      
      * fix build errors
      
      * clang format
      
      * modify gpu unit tests to using module
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * Add flag to enable cpu backend
      
      * Make buffers shared
      
      * Enable optimizations
      
      * Formatting
      
      * fix review comments
      
      * code backup
      
      * clang format
      
      * code backup
      
      * clang format
      
      * fix a bug related to a unit test
      
      * clang format
      
      * clang format
      
      * fix a build error
      
      * remove unnecessary code
      
      * remove unnecessary files
      
      * code backup
      
      * clang format
      
      * remove the compile function from the module class
      
      * clang format
      
      * clang format
      
      * remove the context parameter from the from_value method of the module class
      
      * code refinement
      
      * clang format
      
      * merge changes from develop branch
      
      * clang format
      
      * fix cppcheck error
      
      * clang format
      
      * fix a build error
      
      * fixed a merge error
      
      * fix cppcheck error
      
      * fixed review comments
      
      * clang format
      
      * fix cppcheck error
      
      * fix a cppcheck error
      
      * fix cppcheck error
      
      * fix build error caused by merge
      
      * Add missing has_op function
      
      * Formatting
      
      * merge changes from develop branch
      
      * fix a cppcheck error
      
      * fixed some review comments
      
      * clang format
      
      * remove the begin/end function of the program class
      
      * clang format
      
      * refine code and fix cppcheck error
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * add unit tests for more code coverage
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix review comments
      
      * clang format
      
      * fix a build error in debug mode
      
      * clang format
      Co-authored-by: default avatarPaul <pfultz2@yahoo.com>
      c9b86f1c
  6. 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
  7. 11 Nov, 2020 1 commit
  8. 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