1. 26 Dec, 2023 1 commit
  2. 23 Dec, 2023 1 commit
  3. 20 Dec, 2023 2 commits
  4. 19 Dec, 2023 6 commits
  5. 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
  6. 17 Dec, 2023 1 commit
  7. 16 Dec, 2023 1 commit
  8. 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
  9. 14 Dec, 2023 1 commit
  10. 13 Dec, 2023 3 commits
  11. 12 Dec, 2023 1 commit
  12. 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
  13. 08 Dec, 2023 3 commits
  14. 07 Dec, 2023 3 commits
  15. 06 Dec, 2023 2 commits
  16. 05 Dec, 2023 4 commits
  17. 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
  18. 30 Nov, 2023 3 commits
  19. 29 Nov, 2023 1 commit