1. 30 Jan, 2024 1 commit
  2. 29 Jan, 2024 2 commits
  3. 23 Jan, 2024 1 commit
  4. 11 Jan, 2024 2 commits
  5. 10 Jan, 2024 3 commits
  6. 20 Dec, 2023 1 commit
  7. 19 Dec, 2023 3 commits
    • Adam Osewski's avatar
    • Adam Osewski's avatar
      Fix StorePartials. · 134fc2e7
      Adam Osewski authored
      Pass pointer to whole workspace not the shifted one.
      134fc2e7
    • arai713's avatar
      Hip tensor permute unit test (#1068) · 12a8883c
      arai713 authored
      * adding files for F32 example
      
      * adding functioning implementation with scalar multiplication and unary operator support
      
      * added fp 16 type check in unary square
      
      * updating scalar multiplication as an operator
      
      * functioning version with scalar operator
      
      * changing strides for col major
      
      * updated column major implementation
      
      * working column major implementation
      
      * cleaned up comments, rearranged/renamed files
      
      * small edits to 3d transpose profiler
      
      * adding test/profiler/instance files for hipTensor permute unit test
      
      * added more test instances
      
      * cleaned up errors, randomized input tensor, added more instances
      
      * turned off time printouts
      
      * removed conflicting transpose profiler
      
      * rearranged some files
      12a8883c
  8. 18 Dec, 2023 2 commits
    • rocking's avatar
      layernorm and groupnorm backward data (#1083) · a69aa2a1
      rocking authored
      * rename folder
      
      * Add type string
      
      * Remove typo
      
      * Add deviceOp to backward x
      
      * Add comment to describe the behavior of backward normalization
      
      * Add kernel function, prepare to implement
      
      * implement generic kernel
      
      * Check vector size
      
      * Add sweep once pipeline for small reduce size
      
      * Fix bug of KRaw_ error
      
      * Fix bug of dx stride
      
      * sanity check for mean and rstd
      
      * backward x for groupnorm
      
      * Add bwd x instance
      
      * add layernorm 2d bwd gamma beta instances
      
      * Change save mean var type from f32 to f16 in f16 mode
      
      * Change the example to f16
      
      * Add groupnorm bwd gamma beta instance
      
      * Add groupnorm bwd x instance
      
      * Fix naming
      
      * Add layernorm bwd x ckprofiler
      
      * Add groupnorm bwd x profiler
      
      * clang format
      
      * Rename bwd x to bwd data
      
      * Fix bug of verification in profiler
      
      * Add test of layernorm and groupnorm bwd data
      
      * Add missing cmake
      
      * Add layernorm2d bwd data
      
      * rename fwd example
      
      * Add groupnorm client example
      
      * Fix typo. replace Invarient with Invariant
      
      * Add checking before running the best instance
      a69aa2a1
    • Bartlomiej Wroblewski's avatar
      Optimize fp16 direct load GEMM instances (#1086) · ad0a8e4c
      Bartlomiej Wroblewski authored
      This PR optimizes fp16 instances of direct load GEMM kernel introduced in #999 and #1052.
      
      Measured the performance of new instances on CDNA2 GPU and compared it against the performance of the best non-direct-load GEMM instances. Used 76 different GEMM problems.
      On average, this change improves the performance of the tested problems by 47%. For cases known as latency-bound, the speedup is around 126%.
      ad0a8e4c
  9. 16 Dec, 2023 1 commit
  10. 15 Dec, 2023 3 commits
    • abhimeda's avatar
      Adding Issue Template (#1094) · 3246d1f6
      abhimeda authored
      
      
      * Add files via upload
      
      * fixed extra space typo
      
      * add mi300 GPU architectures and rocm versions 5.6.1 and 6.0.0
      
      ---------
      Co-authored-by: default avatarillsilin <Illia.Silin@amd.com>
      Co-authored-by: default avatarIllia Silin <98187287+illsilin@users.noreply.github.com>
      3246d1f6
    • Bartłomiej Kocot's avatar
      Add tensor structure to wrapper (#1098) · 07092d68
      Bartłomiej Kocot authored
      * Add tensor structure to wrapper
      
      * update changelog
      
      * Fix names
      
      * Comment fixes
      07092d68
    • trixirt's avatar
      cmake: Add CK_PARALLEL_LINK_JOBS and CK_PARALLEL_COMPILE_JOBS options (#1063) · efaf3106
      trixirt authored
      
      
      Copied from the llvm-project LLVM_PARALLEL_*_JOBS
      
      Concurrent linking can break the build as well as having too many
      compile jobs for the avaiable memory.  These options allow the user
      to fine tune the build to fit within their machines memory
      constraints.
      
      An example use on linux is
      COMPILE_JOBS=`cat /proc/cpuinfo | grep -m 1 'cpu cores' | awk '{ print $4 }'`
      if [ ${COMPILE_JOBS}x = x ]; then
        COMPILE_JOBS=1
      fi
      BUILD_MEM=4
      MEM_KB=0
      MEM_KB=`cat /proc/meminfo | grep MemTotal | awk '{ print $2 }'`
      MEM_MB=`eval "expr ${MEM_KB} / 1024"`
      MEM_GB=`eval "expr ${MEM_MB} / 1024"`
      COMPILE_JOBS_MEM=`eval "expr 1 + ${MEM_GB} / ${BUILD_MEM}"`
      if [ "$COMPILE_JOBS_MEM" -lt "$COMPILE_JOBS" ]; then
        COMPILE_JOBS=$COMPILE_JOBS_MEM
      fi
      LINK_MEM=32
      LINK_JOBS=`eval "expr 1 + ${MEM_GB} / ${LINK_MEM}"`
      
      cmake -G Ninja -DCK_PARALLEL_LINK_JOBS=$LINK_JOBS
                     -DCK_PARALLEL_COMPILE_JOBS=$COMPILE_JOBS
      Signed-off-by: default avatarTom Rix <trix@redhat.com>
      efaf3106
  11. 14 Dec, 2023 1 commit
  12. 13 Dec, 2023 2 commits
  13. 12 Dec, 2023 1 commit
  14. 11 Dec, 2023 1 commit
    • Bartlomiej Wroblewski's avatar
      Fix IsSupported check in the contraction op (#1066) · 89ee4746
      Bartlomiej Wroblewski authored
      Current implementation of IsSupported method in contraction ops does not cover a lot of possible cases in which ScalarPerVector cannot really be used to read A, B or D, or write E.
      
      This PR extends both the regular and multiABD contraction ops with improved checks and also adds new instances with smaller values of ScalarPerVector to support instances that are not supported by other instances.
      89ee4746
  15. 08 Dec, 2023 3 commits
  16. 07 Dec, 2023 3 commits
  17. 06 Dec, 2023 4 commits
  18. 05 Dec, 2023 3 commits
  19. 03 Dec, 2023 1 commit
    • Bartlomiej Wroblewski's avatar
      Add support for double buffering in direct load GEMM kernel (#1052) · bc4bf9bd
      Bartlomiej Wroblewski authored
      This PR introduces support for double buffering in LDS into GEMM kernels that use direct load instructions.
      
      Direct loads now use inline asm instead of intrinsics. Usage of intrinsics results in compiler adding additional waitcnt instructions what breaks possible load/compute overlap in case of double buffering.
      
      Usage of inline asm results in the need to use sched_barrier in order to make sure that compiler cannot incorrectly reschedule instructions since it does not know the data dependencies between global->LDS and LDS->registers.
      bc4bf9bd
  20. 01 Dec, 2023 2 commits
    • Adam Osewski's avatar
      Multiple changes to gridwise gemm. · 4841d991
      Adam Osewski authored
      4841d991
    • Adam Osewski's avatar
      Multiple changes to global kernel function. · ad0e4083
      Adam Osewski authored
      * StorePartials work on offseted pointer.
      * Read flags as uint32_t value
      * Accumulate partials only if there is more than one cooperating workgroup
      * Add condition for waiting on reduction end, only when there is still work to do.
      * Fix creation od a/b grid desc in CheckArgument.
      * LaunchKernel will use preprocess lambda to set flags value to zero.
      * Add condition in IsSupportedArgument to check if xdl is supported.
      ad0e4083