1. 10 Jan, 2025 2 commits
    • Bartłomiej Kocot's avatar
      Grouped convolution backward weight special vector size loads (#1772) · fd46a01d
      Bartłomiej Kocot authored
      * Grouped convolution backward weight special vector size loads
      
      * Instnaces and tests
      
      * Fixes
      
      * Add 7 and 13 special cases
      
      * fix comments
      
      * Fix
      
      * Fix2
      
      * fixes
      
      * fix atomic add bf16
      fd46a01d
    • Thomas Ning's avatar
      Ck tile/gemm perf measure (#1750) · 73a076ee
      Thomas Ning authored
      
      
      * Finished adding the performance benchmark for ck tile gemm
      
      * Fix the executable rename problem
      
      * fix the executable name error
      
      * delete the unsupported layout combinations
      
      * Update run_full_test.sh
      
      * Update benchmark_mem_pipeline.sh
      
      * Update benchmark_basic.sh
      
      * change the executable of gemm_universal
      
      * change ck_tile_gemm script permissions
      
      * Addressed the comment
      
      * Addressed the comment
      
      * Fixed the comments
      
      * Fixed Comment
      
      * roll back the malfunctioned change
      
      * Fix the Typo
      
      * finalize the tile_gemm_fp16 performance monitoring
      
      * fix the stash names for ck_tile gemm logs
      
      * change the stashing logic
      
      * change stashing syntax
      
      ---------
      Co-authored-by: default avatarIllia Silin <98187287+illsilin@users.noreply.github.com>
      Co-authored-by: default avatarillsilin <Illia.Silin@amd.com>
      73a076ee
  2. 08 Jan, 2025 12 commits
  3. 07 Jan, 2025 3 commits
  4. 04 Jan, 2025 3 commits
  5. 03 Jan, 2025 4 commits
  6. 02 Jan, 2025 2 commits
  7. 01 Jan, 2025 1 commit
  8. 29 Dec, 2024 1 commit
    • Qianfeng's avatar
      Remove using partitioner for all fmha kernels (#1778) · 4e076909
      Qianfeng authored
      * Remove using tile partitioner for fmha_fwd_kernel
      
      * Remove using tile partitioner for fmha_fwd_splitkv and splitkv-combine kernels
      
      * Remove using tile partitioner for fmha_fwd_appendkv kernel
      
      * Unify the format of GetTileIndex
      4e076909
  9. 28 Dec, 2024 1 commit
  10. 25 Dec, 2024 1 commit
  11. 23 Dec, 2024 1 commit
  12. 20 Dec, 2024 4 commits
    • Illia Silin's avatar
      fix typo for CK_USE_OCP_FP8 (#1769) · 07339c73
      Illia Silin authored
      07339c73
    • carlushuang's avatar
      hot-fix (#1768) · 1c45ca35
      carlushuang authored
      1c45ca35
    • Po Yen Chen's avatar
      [CK_TILE] Add fmha fwd N-Warp S-Shuffle pipeline (fmha fwd splitkv pipeline variant) (#1705) · 37cdbf4f
      Po Yen Chen authored
      
      
      * Add check for zero values
      
      * Add static assertions
      
      * Remove invalid option '-e' in smoke_test.sh
      
      * Use correct path of smoke_test.sh
      
      * Avoid zero-sized shared memory array
      
      * Add warning comment
      
      * Replace expr by integer_divide_ceil() call
      
      * Use more readable constant names
      
      * Write down assumption as static assertion
      
      * Add more diagnostic error messages
      
      * Fix wrong BlockWarps when using default pipeline policy
      
      * Add more static assertions for A LDS desc
      
      * Allow using vector size < 8 for data type fp16/bf16
      
      * Align vector size between DRAM dist & LDS desc
      
      * Remove no-longer used func decl
      
      * Fix wrong displayed piepline name
      
      * Undo policy template changes for tile_example_gemm_basic
      
      * Add missing space and make error message stands out
      
      * Unify print precision
      
      * Add missing include directive <iomanip>
      
      * Replace constant 64 by get_warp_size() call
      
      * Replace constant 128 by named variable: BankLength
      
      * Add kAMBlock/kBNBlock attributes
      
      * Allow usig different A/B warp dist for multiple blocks
      
      * Add helper function to get warp dist encodings
      
      * Add 4x64x4 fp16 warp gemm attribute impl
      
      * Complete the A/B warp dist encoding logic
      
      * Fix wrong thread mapping for C matrix
      
      * Use smaller vector size for small tile
      
      * Add static assert to block unsupported warp gemm impl
      
      * Extract common code out as helper method
      
      * Add 4x64x16 fp16 warp gemm type alias
      
      * Add comment to warning developers
      
      * Undo WarpGemmAtrributeMfma<> changes
      
      * Use more clear static assertion error message
      
      * Add trivial wrapper to get warp dstr encodings
      
      * Only transpose warp gemm result if it's square
      
      * Fix compilation error
      
      * Support multi-block warp gemm (on N direction)
      
      * Remove duplicated code
      
      * Fix output encoding of warp gemm
      
      * Fix wrong shape of WarpGemmAtrributeMfmaIterateK<>
      
      * Remove unused code
      
      * Fix wrong shape of WarpGemmAttributeMfmaImplF16F16F32M4N64K4
      
      * Add type config for bf16_t
      
      * Add 4x64x16 bf16 warp gemm
      
      * Update WarpGemmAtrributeMfmaIterateKAndTransposedCDistribution
      
      * Add 64x4x4 fp16/bf16 warp gemm impl
      
      * Add 64x4x16 fp16/bf16 warp gemm
      
      * Add static assertion for better error diagnostic
      
      * Get Q dram dstr directly form block gemm
      
      * Add missing header: fused_moe.hpp
      
      * Allow specifying different warp-gemm for gemm0 & gemm1
      
      * Store P matrix into LDS before gemm1
      
      * Fix inconsistant kernel name
      
      * Remove constraint on gemm0 & gemm1 block warps
      
      * Remove unsupported vector size from checking list
      
      * Allow using 4x64x16 warp gemm for gemm0
      
      * Finish policy customization
      
      * Finish pipeline modification
      F#
      
      * Use block warps in codegen
      
      * Fix wrong rank of m_lds_window origin
      
      * Use better distributed tensor
      
      * Make P-store earlier
      
      * Remove duplicated experssions
      
      * Remove unnecessary tile window
      
      * Create new files for new splitkv pipeline
      
      * Separate old/new pipeline codegen logic
      
      * Sync changes form develop
      
      * Undo gemm kernel/pipeline changes
      
      * Undo gemm example changes
      
      * Remove blank lines
      
      * Fix typo
      
      * Use new warp gemm interface
      
      * Fix link error
      
      * Fix wrong pipeline tag
      
      * Fix more link error
      
      * Avoid unnecessary padding
      
      * Always use vector load for K
      
      * Padding on fastest dimension when necessary
      
      * Force padding Q on hdim_q
      
      * Set high dimension padding flag to false
      
      * Re-format headers
      
      * Use warps=<1, 4, 1> for both gemm0 & gemm1
      
      * Fix complilation errors
      
      * Remove m/l shuffle logics
      
      * Ignore duplicate data when write lse_acc
      
      * Use gemm0 block warps as lds tile width
      
      * Remove hard-coded numbers
      
      * Fix wrong distribution width
      
      * Remove unnecessary code
      
      * Add s_barrier before writing to LDS
      
      * Store Q into LDS before gemm0
      
      * Fix wrong Q tile size
      
      * Use simple Q lds descriptor for debuging
      
      * Use more realistic Q lds descriptor
      
      * Add comment & use better variable name
      
      * Make Q lds space not overlapped with others
      
      * Remove unnecessary block_tile_reduce_sync() call
      
      * Move Q load statements
      
      * Move block_sync_lds() right before use
      
      * Re-order instructions
      
      * Remove necessary lambda expression
      
      * Use 8 threads on kMaxSplits direction while doing reduction
      
      * Tiny correction for using 8 threads on kMaxSplits direction for combine kernel
      
      * Padding num_split direction of o_acc tile window to 4x
      
      * Update splitkv combine pipeline design
      
      * Add kN1 back to splitkv combine pipeline problem
      
      * Fix compilation errors
      
      * Add missing template parameter
      
      * Fix wrong splitkv combine kernel name
      
      * Fix wrong origin
      
      * Fix wrong LDS descriptor shape
      
      * Fix sync & reduction logics
      
      * Remove unnecessary static assertions
      
      * Extract tile size computation logics
      
      * Make sure we can reuse padding flags in combine kernels
      
      * Rename variables
      
      * Use OaccDataType in BlockFmhaSplitKVCombinePipelineTileSizes<>
      
      * Remove unnecessary static assertion
      
      * Fix function name typo
      
      * Add constraint on kN1 template parameter
      
      * Hide K tile loading latency in earlier iteration
      
      * Fix wrong splitkv kernel name
      
      * Use s_shuffling to replace p_shuffling which removes the needs of cross-warp reduction
      
      * Rename pipeline
      
      * Fix wrong pipeline name attribute
      
      * Add GetAlignmentQ() for NWarpSShuffle pipeline
      
      * Separate Q tile into dram tile & register tile concepts
      
      * Remove non-squre warp gemm transpose c type alias
      
      * Fallback tile size changes for fmha fwd splitkv
      
      * Remove redundant change
      
      * Refine naming for the S tile
      
      * Use better naming of the S tile dstr (read from lds)
      
      * Share Q lds with K lds
      
      * Tiny change
      
      * Fix with using static_for for passing CI checking
      
      ---------
      Co-authored-by: default avatarQianfeng Zhang <Qianfeng.Zhang@amd.com>
      37cdbf4f
    • Illia Silin's avatar
      fix profiler_grouped_gemm (#1766) · 2944c508
      Illia Silin authored
      2944c508
  13. 19 Dec, 2024 1 commit
  14. 18 Dec, 2024 3 commits
    • aledudek's avatar
      [CK TILE] Refactor GemmKernel to be reused by other GEMM related operators (#1730) · 453ca373
      aledudek authored
      * Gemm Kernel Refactor part1
      
      * Gemm Kernel Refactor common gemm pipeline part2
      
      * [CK TILE] Refactor batched gemm to reuse GemmKernel
      
      * [CK TILE] Refactor GemmKernel - review changes part1
      
      * [CK TILE] Refactor GemmKernel - references fix
      
      * [CK TILE] Refactor GemmKernel - naming changes, add problem
      
      * [CK_TILE] Refactor GemmKernel - update tests
      
      * [CK_TILE] Refactor GemmKernel - review changes
      
      * [CK_TILE] Refactor GemmKernel - update test
      
      * [CK_TILE] Refactor GemmKernel - constness fixes
      
      * [CK_TILE] Refactor GemmKernel - update tests
      453ca373
    • Xiaodong Wang's avatar
      Disambiguate bit_cast (#1749) · 1c1b3363
      Xiaodong Wang authored
      
      
      Adding namespace to disambiguate with std::bit_cast
      Co-authored-by: default avatarPo Yen Chen <PoYen.Chen@amd.com>
      1c1b3363
    • aledudek's avatar
      [CK_TILE] Move hipmalloc/memcpy calls out of gpu reference gemm (#1743) · f6c4d614
      aledudek authored
      * [CK_TILE] Move hipmalloc/memcpy calls out of gpu reference gemm
      
      * [CK_TILE] Move hipmalloc/memcpy calls out of gpu reference gemm - review changes
      
      * [CK_TILE] Move hipmalloc/memcpy calls out of gpu reference gemm - review fix
      f6c4d614
  15. 17 Dec, 2024 1 commit