• Po Yen Chen's avatar
    Add examples of Conv + reduction (data type: int4, int8, bf16, fp16, fp32) (#380) · 46a675aa
    Po Yen Chen authored
    
    
    * Refactor the design of DeviceGemmMultipleDMultipleR_Xdl_CShuffle
    
    * Add 'DeviceGroupedConvFwdMultipleDMultipleR' interface
    
    * Add DeviceGroupedConvFwdMultipleDMultipleR_Xdl_CShuffle
    
    * Remove 'GridwiseConvFwdMultipleDMultipleR_xdl_cshuffle'
    
    * Add 'TransformConvFwdToGemm<>' utility class (from Chao)
    
    * Use 'TransformConvFwdToGemm<>' to shorten code
    
    * Fix ill-formed method declaration
    
    * Re-implement MakeRGridDescriptor_M() function
    
    * Change problem description
    
    * Use macro to define layout types
    
    * Define K-reduced output tensor layout types
    
    * Let user to decide R output tensor layout
    
    * Rename variables
    
    * Add padding to the reduced output tensor if necessary
    
    * Extract common code as helper method
    
    * Remove debug message
    
    * Add missing include directive
    
    * Add partial fp16 Conv + Reduction example
    
    * Add example verification code for 2D Conv problem
    
    * Use type alias to simplify code
    
    * Share code across different-dimension Conv problems
    
    * Rename file/functions from run_conv_fwd* to run_convnd_fwd*
    
    * Make example code more verbose
    
    * Add code to support 1D & 3D Conv + Reduction on host
    
    * Add more examples for data type: bf16, fp32
    
    * Add example for int8
    
    * Add custom target to group examples
    
    * Use more general custom target name
    
    * Change the description in error message
    
    * Disable testing for example other than fp32
    
    * Add examplel for int4 (just copy from int8)
    
    * Fix wrong data type
    
    * Use larger data type for intermediate tensors
    
    * Finish int4 example
    
    * Undefine macro PP_DEFINE_LAYOUT_TYPE() after use
    
    * Use named variables to replace magic numbers
    
    * Remove debug messages
    
    * Use same A/B data type for host Conv in int4 example
    
    * Add check for the 'RLayout' type argument
    
    * Group same-dim-layouts together in 'LayoutSetting<>'
    
    * Add 'final' specifier to utility classes
    
    * Use different initialization method for examples
    
    * Remove macro PP_DEFINE_LAYOUT_TYPE()
    
    * Fix code-comment mismatch
    
    * Use more reasonable initialization value for all data types
    
    * Default use init_method=1 for all examples
    
    * Remove never-used code
    
    * Remove confusing out-of-date comments
    
    * clean
    Co-authored-by: default avatarChao Liu <chao.liu2@amd.com>
    Co-authored-by: default avatarChao Liu <lc.roy86@gmail.com>
    46a675aa
CMakeLists.txt 2.05 KB