1. 15 Nov, 2023 1 commit
    • carlushuang's avatar
      Fmha pr 2 (#26) · 3753c4bc
      carlushuang authored
      * support hdim=64/128 in same example code
      
      * support v transpose
      
      * revert gemm.cpp, not intent to modify it
      
      * remove useless code
      
      * fix a bug for swizzle C encoding, no perf change
      
      * optimize LDS encoding
      
      * update LDS layout
      
      * clean up code
      3753c4bc
  2. 03 Nov, 2023 2 commits
  3. 30 Oct, 2023 1 commit
  4. 27 Oct, 2023 1 commit
    • carlushuang's avatar
      support batch & nhead, and scale (#20) · 95889861
      carlushuang authored
      * support batch & nhead
      
      * support scale
      
      * tile scheduler
      
      * rename tile-scheduler to tile-partitioner
      
      * add some exp2 math
      
      * fix a bug when chaning tile size
      95889861
  5. 19 Oct, 2023 3 commits
  6. 18 Oct, 2023 1 commit
    • Po Yen Chen's avatar
      Pre-compute coordinates to speed up store_tile() for TileWindowWithStaticDistribution<> (#12) · 63bc96e3
      Po Yen Chen authored
      
      
      * Extract store_tile() logics as method
      
      * Extract load_tile() logics as method
      
      * Rename type alias
      
      * Extract common logics as traits
      
      * Remove unnecessary access specifier
      
      * Add ComputeMode for TileWindowWithStaticDistribution
      
      * Put field check into Traits
      
      * More definition of Traits types
      
      * Use more clear static_assert() message
      
      * Enable pre-compute coordinates in store_tile()
      
      * Re-formate static assert
      
      * Undo changes to the wrong method
      
      * Enable pre-compute coords for store_tile()
      
      * Remove static_vector usage
      
      * Add method to move non-member coordinates
      
      * Force using pre-computed coordinates in Store()
      
      * Fix wrong access for SFC_Ys
      
      * Change comment
      
      * Allow users to hint # access per coord
      
      * Add comment for noting remove data members later
      
      * Unify FIXME comments
      
      * Replace FIXME comments by TODO
      
      * Let user specify HintNumCoords
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * refactor load/store for window
      
      * clean
      
      * clean
      
      * bug fix for window; clean
      
      ---------
      Co-authored-by: default avatarChao Liu <chao.liu2@amd.com>
      63bc96e3
  7. 12 Oct, 2023 2 commits
    • Chao Liu's avatar
      Refactor 1010 (#14) · 7337ec25
      Chao Liu authored
      * refactor
      
      * refactor
      
      * change load_tile, update block gemm
      
      * debug
      
      * clean
      
      * clean
      
      * experiment lod
      
      * workaround spilling issue
      
      * clean
      7337ec25
    • carlushuang's avatar
      slice kv, and use 3d padding LDS layout (#15) · 7b1a0b7f
      carlushuang authored
      * slice kv, and use 3d padding LDS layout
      
      * add missing sync
      
      * put sync to another poace
      
      * move sync place
      
      * revert to normal
      7b1a0b7f
  8. 06 Oct, 2023 1 commit
    • carlushuang's avatar
      add tensor slicing API (#7) · 6491acda
      carlushuang authored
      
      
      * add tensor slicing API
      
      * remove redundant ck namespace
      
      * better gemm_gemm interface
      
      * modify gemm_gemm
      
      * add slice_tile api
      
      * fix merge bug
      
      * update to 3d padding, since we no longer need that much LDS size
      
      * clean
      
      * cleang
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      * clean
      
      ---------
      Co-authored-by: default avatarChao Liu <chao.liu2@amd.com>
      6491acda
  9. 03 Oct, 2023 1 commit
    • Chao Liu's avatar
      Shuffle in thread (#13) · 1cf54e86
      Chao Liu authored
      * adding in-thread shuffle
      
      * update softmax example
      
      * refactor grid gemm
      
      * refactor gemm: layouts
      
      * bug fix
      
      * clean
      
      * clean
      1cf54e86
  10. 14 Sep, 2023 2 commits
  11. 13 Sep, 2023 1 commit
  12. 05 Sep, 2023 3 commits
  13. 31 Aug, 2023 2 commits
    • zjing14's avatar
      Grouped Gemm with Fixed K and N with SplitK (#818) · f5ec04f0
      zjing14 authored
      
      
      * move all arguments into device
      
      * add b2c_tile_map
      
      * add examples
      
      * add SetDeviceKernelArgs
      
      * dedicated fixed_nk solution
      
      * init client api
      
      * add grouped_gemm_bias example
      
      * add a instance
      
      * add instances
      
      * formatting
      
      * fixed cmake
      
      * Update EnableCompilerWarnings.cmake
      
      * Update cmake-ck-dev.sh
      
      * clean; fixed comments
      
      * fixed comment
      
      * add instances for fp32 output
      
      * add instances for fp32 output
      
      * add fp32 out client example
      
      * fixed CI
      
      * init commit for kbatch
      
      * add splitk gridwise
      
      * format
      
      * fixed
      
      * clean deviceop
      
      * clean code
      
      * finish splitk
      
      * fixed instances
      
      * change m_loops to tile_loops
      
      * add setkbatch
      
      * clean code
      
      * add splitK+bias
      
      * add instances
      
      * opt mk_nk instances
      
      * clean examples
      
      * fixed CI
      
      * remove zero
      
      * finished non-zero
      
      * clean
      
      * clean code
      
      * optimized global_barrier
      
      * fixed ci
      
      * fixed CI
      
      * removed AddBias
      
      * format
      
      * fixed CI
      
      * fixed CI
      
      * move 20_grouped_gemm to 21_grouped_gemm
      
      ---------
      Co-authored-by: default avatarJing Zhang <jizha@amd.com>
      f5ec04f0
    • rocking's avatar
      MaxPool & AvgPool bwd instances, test, ckProfiler, client example (#861) · 866377de
      rocking authored
      * Add maxpool instances
      
      * Rename index pool to max pool.
      
      * Add maxpool bwd bf16 instances
      
      * Add avg pool bwd instances
      
      * Rename avgpool and maxpool to avg_pool3d and max_pool
      
      * Add bf16 pool fwd instances
      
      * Add max pool bwd to ckProfiler
      
      * Add avg pool3d bwd to ckProfiler
      
      * Add avg pool bwd test
      
      * Fix bug of reference pool fwd (dilation)
      
      * Fix bug of max pool bwd  (dilation and initZero)
      
      * Support bf16 compute data type
      
      * Force compute type be f32. Because atomicAdd only support f32
      
      * Add max pool bwd test
      
      * Rename folder
      
      * Rename pool
      
      * Add max pool bwd client example
      
      * Add avg pool bwd client example
      
      * Add missing workspace
      
      * clang format
      
      * Rename macro
      
      * remove useless header
      
      * remove useless layout
      866377de
  14. 29 Aug, 2023 1 commit
  15. 23 Aug, 2023 1 commit
  16. 22 Aug, 2023 1 commit
  17. 14 Aug, 2023 2 commits
    • Bartlomiej Wroblewski's avatar
      d4c84256
    • rocking's avatar
      Refactor pool fwd (#815) · f60f0a5e
      rocking authored
      * Do not hardcode stride
      
      * devicePool2DFwd Inherit devicePool3DFwd
      
      * Move instance declaration out of common
      
      * Add dilation
      
      * use the pool3d rank, because pool2d inherit pooo3d
      
      * calculate Do Ho Wo for the dilation
      
      * Fix header name
      
      * Modify ckProfiler
      
      * Remove pool2d instance
      
      * Remove pool2d in profiler
      
      * Remove pool2d and add dilation
      
      * In to client example, this commit revise following:
      1. Add dilation.
      2. Use pool3d to implement pool2d
      
      * Refine naming and IsSupportedArgument()
      
      * Add dilation to maxpool bwd example
      
      * clang format
      
      * 1. Remove useless header
      2. Fix copyright
      3. Refine naming
      
      * Add layout parameter to pool fwd
      
      * clang format
      
      * Fix merge error
      
      * Fix compile error
      
      * Remove layout parameter in derived class
      
      * Refine changlog
      
      * Fix compile error
      
      * Fix compiler error
      
      * Add layout to external api and profiler
      f60f0a5e
  18. 10 Aug, 2023 1 commit
    • rocking's avatar
      Average pool backward deviceOP and example (#797) · 578142db
      rocking authored
      * Add avgpool bwd reference code
      
      * Refine naming
      
      * Fix invalid in_element op in ref_conv
      
      * Add example (only reference now)
      
      * Add the full example of avgpool bwd
      
      * Fix copyright
      
      * Imitate MakeDescriptor from  transform_conv_bwd_data_to_gemm_v1.hpp
      
      * rename channel to c from k
      
      * Arrange the code
      
      * Imitate the argument from conv bwd
      
      * Implement invoker
      
      * Fix order of parameter in example
      
      * Refactor reference code for different dimension
      
      * Support different stride
      
      * Check if argument is valid
      
      * Fix kernel parameter for NDHWC, fastest dimension C is not reduced
      
      * Add more data type in example
      
      * Fix bug in example
      
      * calculate Do Ho Wo according to the dilation
      
      * Remove useless header
      
      * Add comment in reference code
      
      * Add layout parameter
      
      * Remove layout in derived class
      
      * Refine reference comment
      578142db
  19. 09 Aug, 2023 1 commit
  20. 07 Aug, 2023 2 commits
    • Illia Silin's avatar
      Allow building CK for specific data types and split off last remaining DL instances. (#830) · 08eb1769
      Illia Silin authored
      * properly split conv_nd_bwd_data instances
      
      * split conv2d_fwd instance data types
      
      * split the gemm, conv2d_fwd and batched_gemm_softamx_gemm
      
      * split the tests by data types where possible
      
      * filter examples by DTYPES
      
      * split few remaining examples by DTYPES
      
      * filter most instances by DTYPES
      
      * add new lines at end of headers, fix grouped_gemm profiler
      
      * fix syntax
      
      * split the ckprofiler instances by DTYPES
      
      * split the conv2d and quantization DL and XDL instances
      
      * fix the splitting of conv2d DL instances
      
      * split softmax and pool_fwd tests for fp16 and fp32 types
      
      * fix syntax
      
      * fix the dl_int8 quantization instances isolation
      08eb1769
    • Bartłomiej Kocot's avatar
      Add wei_strides to grouped conv3d wei to keep consistency (#817) · 22443f7a
      Bartłomiej Kocot authored
      
      
      * Add wei_strides to grouped conv3d wei to keep consistency
      
      * Fix strides in client examples
      
      * Unify backward weight api with forward
      
      * Fix for example
      
      * Fixes for examples
      
      ---------
      Co-authored-by: default avatarzjing14 <zhangjing14@gmail.com>
      22443f7a
  21. 26 Jul, 2023 3 commits
  22. 25 Jul, 2023 1 commit
  23. 18 Jul, 2023 1 commit
    • Illia Silin's avatar
      Add mechanism to build CK for select data types, add Navi3x CI. (#790) · 189ea3b9
      Illia Silin authored
      * allow building CK for specific data types
      
      * add CI build and test stage on Naiv3x without some int8 instances
      
      * add missing gemm fp16 instances
      
      * add the changes to the missed cmake file
      
      * add empty lines at end of source files
      
      * Do not build quantization client example on navi3 in CI
      
      * disable batched_gemm_multi_d_int8 instances with DTYPES
      
      * disable device_conv2d_bwd_data_instance with DTYPES
      
      * fix ckprofiler for conv_bwd_data for int8
      
      * properly isolate the conv_bwd_data int8 instances
      
      * remove empty line
      189ea3b9
  24. 12 Jul, 2023 1 commit
  25. 06 Jul, 2023 2 commits
    • Qianfeng's avatar
      Batchnorm splitk single kernel (#771) · 8f5cafaf
      Qianfeng authored
      * Use dim 0 as faster dim for writing mean/var/count workspace in batchnorm multiblock method [performance]
      
      * Add CountDataType as template parameter in blockwise_welford
      
      * Add utility/get_shift.hpp
      
      * Add BatchNorm multiblock single-kernel implementation
      
      * Add smem inline assembly based implementation of gms_init/gms_barrier/gms_reset for gfx90a
      
      * Renaming in device_batchnorm_forward_impl.hpp
      
      * Tiny fix in the batchnorm_fwd profiler
      
      * Revert "Add smem inline assembly based implementation of gms_init/gms_barrier/gms_reset for gfx90a"
      
      This reverts commit d16d00919c43f10759e7b4e4d112125221ed9064.
      
      * Use the old two-kernel batchnorm multiblock method for gfx1030
      
      * Use the old two-kernel batchnorm multiblock method for gfx908
      
      * use the single-kernel batchnorm multiblock method only for gfx90a
      
      * Remove get_wave_id() from utility/get_id.hpp since it is not used
      
      * Set true for testing running mean/variance and saving mean/invvariance in the examples
      
      * Fix to copy-right words
      
      * Remove un-needed including in utility/get_id.hpp
      
      * Add comments to workgroup_synchronization.hpp
      
      * Remove un-used codes in gridwise_multiblock_batchnorm_forward.hpp
      
      * Renaming in the kernels
      
      * Remove un-used kernel file
      8f5cafaf
    • Adam Osewski's avatar
      f4dfc060
  26. 05 Jul, 2023 1 commit
  27. 19 Jun, 2023 1 commit