- 모델 관찰
- 실행 전 이 연산 방식 결정
- 그 결정 plan 내 저장
- 실행
2 에서 판단 시 DispatchContext 참고
- 연산 종류
- 데이터 타입
- shape
- GPU
정보 묶음을 한 번에 넘기는 구조체가 Dispatch Context
들어가는 것
- 어떤 연산인지
- dtype 이 뭔지
- shape 의 형태
- layout
- GPU architecture
안 들어가는 것
- 실제 텐서
- 포인터 주소
- stream
- ...
선택 결과임 이것들은
DispatchContext ctx {
op = GEMM,
dtype = FP16,
shape_class = ALIGNED_128,
layout = ROW_MAJOR,
sm = 86
};
위 조건에서 어떤 커널이 맞는지
커널 고를 때 한 번 DispatchContext 가 쓰인다