"llama/sgemm.cpp" did not exist on "217903ab5111124041b3bb9d7a04d9101f2f32b2"
  • 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
ck.hpp 8.63 KB