본문 바로가기

GPU-KERNEL

SMEM Tile Size Sweep test

shared memory 의 타일 크기가 성능에 어떤 영향을 주는지 확인

  • BM, BN 의 증가 
    • 한 block 이 담당하는 C 타일이 커짐
    • 데이터 재사용, 레지스터/SMEM 사용량 증가
  • BK 증가
    • K 축을 한 번에 처리하는 양이 커짐
    • FMA/로드 비율 증가, SMEM 증가

 

타일 크기 변경이 수치적 안정성에는 영향 없음

 

공격적인 tiling 

  • BM, BN, BK 를 키우면
    • 한 번에 처리하는 데이터가 많아지고
    • 같은 global load 를 더 많이 재사용하므로 메모리 관점에서는 이득
  • 하지만 동시에
    • block 당 shared memory 사용량 증가
    • thread 당 register 사용량 증가
    • grid 의 block 개수 감소, SM 병렬성 감소
  • 너무 작은 tile - overhead , reuse 부족 , 느림
  • 너무 큰 tile - 자원 압박 / occupancy , 느림
  • 최적점이 존재