본문 바로가기

AI Compiler framework

GEMM 출력 f16 유지 + Elementwise Rank 의미 제거 ( Dispatch 계약 정리 )

이전엔 GEMM 이 A, B 가 f16 의 입력을 받아도 출력 C 를 f32 로 내보냈음

다음의 변화

  • GEMM 의 내부 누산은 f32 로 유지하되, 최종 출력은 f16 으로 유지
  • 이후 연산들로 이어질 때 elementwise op 들이 rank 에 묶이지 않고 동작하도록 registry 계약 정리

 

이전에는 누산 과정에 따라 upcasting 이 되었음

store 단계에서만 float - half 의 변환, 

 

출력 텐서가 [M, N] 형태로 유지되자, 이전의 1D 전용 계약 커널들의 오류 

Elementwise / pointwise 연산들의 rank 는 의미가 없음

  • 메모리의 contiguous
  • 동일 shape
  • 총 원소 수

와 같은 내용들이 중요