본문으로 건너뛰기

[triton] AMD ReorderInstructions에서 효과 없는 sinkSecondLoad 최적화 제거

PR 링크: triton-lang/triton#9119 상태: Merged | 변경: +0 / -522

들어가며

AMD의 ReorderInstructions 패스는 GEMM 커널 성능 향상을 위한 여러 명령어 재배치 최적화를 포함합니다. 그 중 sinkSecondLoad는 두 번째 load를 dot 연산 직전으로 이동시키는 최적화였지만, 매우 제한적인 케이스에서만 트리거되었고, 성능에 가시적인 영향이 없었습니다.

핵심 코드 분석

제거된 코드의 핵심 로직 (522줄): 큰 타일 크기(256x256x128 등)에서 dot의 두 번째 load를 dot 연산 직전으로 sink하여, 첫 번째 load와 두 번째 load 사이에 다른 연산이 실행될 수 있도록 하는 것이었습니다. 그러나 이는 특정 타일 크기 조건에서만 동작했고, 실측 성능 차이가 없었습니다.

After: 해당 코드 전체 삭제, 관련 테스트 케이스도 제거.

왜 이게 좋은가

522줄 삭제는 ReorderInstructions 패스의 복잡성을 크게 줄입니다. 이 PR은 #9139(sinkDotConversion 제거), #9204(moveUpTranspose 제거)와 함께 ReorderInstructions를 단계적으로 간소화하는 시리즈의 일부입니다. 최종적으로 #9328에서 MoveUpPrologueLoads라는 새로운 패스로 완전히 대체되었습니다.

정리

  • 효과 없는 sinkSecondLoad 최적화 522줄 전체 제거
  • ReorderInstructions 간소화 시리즈의 일부
  • 이전 테스트도 제거하여 오래된 가정 정리

참고 자료

이 분석은 AI가 실제 코드 diff를 기반으로 작성했습니다.

댓글

관련 포스트

PR Analysis 의 다른글