torch.cuda.tunable.set_cublaslt_requested_algo_count로 후보를 늘리면 TunableOp가 나쁜 GEMM 휴리스틱을 다시 고릅니다 | DAKER 커뮤니티

Tunable cuBLASLt
설명용 생성 이미지입니다.

한 줄 요약
PyTorch 2.14부터 TunableOp가 CUDA에서 cuBLASLt 휴리스틱 후보를 함께 고릅니다. torch.cuda.tunable.set_cublaslt_requested_algo_count 또는 환경 변수로 후보 수를 늘리면, 기본 cuBLAS 휴리스틱이 약한 GEMM 모양을 다시 측정해 캐시할 수 있습니다. 평균이 크게 오르지 않아도 모양별 편차가 클 때 오늘 바로 점검할 수 있습니다.

문제 모양이 보이면 TunableOp를 켠 뒤 후보 수를 올린 설정과 기본(후보 적음) 설정을 같은 입력으로 한 번씩만 비교하십시오. 노트에는 PyTorch 버전, GPU, dtype, m·n·k·leading dimension, 후보 수, 스텝 시간을 남깁니다.

재현해 볼 실험 조건

  1. 같은 GEMM 모양으로 TunableOp 끄기·켜기(기본 후보)를 각각 측정합니다.
  2. set_cublaslt_requested_algo_count로 후보를 늘린 뒤 같은 모양을 다시 측정하고, 캐시에 남은 선택을 확인합니다.
  3. 패딩된 leading dimension이 m·n·k와 같아지는 오프라인 튜닝 파일은 잘못된 모양으로 튜닝되지 않는지 한 번 더 점검합니다.

어제 다룬 컴파일 구간 메모리 풀·CUDA Graph Trees 복제·FFT bfloat16과는 다른 축입니다. 오늘은 TunableOp와 cuBLASLt 후보만 봅니다.

실무에서 바로 볼 포인트

관련 DAKER 학습

설명용 생성 이미지입니다. 동작은 로컬에서 같은 GEMM을 후보 수 전후로 비교해 확인하십시오.