할당 후 _annotate_tensor를 호출하면 메모리 히스토리에 타임스탬프 주석이 쌓입니다 | DAKER 커뮤니티

할당 후 주석
설명용 생성 이미지입니다.

한 줄 요약
PyTorch 2.14부터 이미 만든 CUDA 텐서에도 torch.cuda.memory._annotate_tensor로 메모를 붙일 수 있습니다. 메모리 히스토리를 켠 상태라면 주석이 타임스탬프 이벤트로 쌓이고, 스냅샷 도구에서 해당 할당 옆에 같이 보입니다. 할당 시점 메타데이터는 덮어쓰지 않고 누적됩니다.

스테이징·중간 버퍼·그래프 고정 텐서처럼 “누가 언제 만들었는지”가 흐려지는 구간에서, 생성 직후가 아니라 재사용·리사이즈 직후에도 레이블을 남길 수 있습니다. 노트에는 PyTorch 버전, GPU, allocator, 주석 문자열, 히스토리 on/off, 스냅샷 필드 존재 여부를 적습니다.

재현해 볼 실험 조건

  1. _record_memory_history를 켠 뒤 CUDA 텐서를 만들고, 바로 _annotate_tensor로 짧은 레이블을 붙입니다.
  2. 같은 텐서에 주석을 한 번 더 남긴 다음 스냅샷을 저장해, 주석이 교체가 아니라 누적되는지 확인합니다.
  3. 히스토리를 끈 상태와 켠 상태를 비교하고, 네이티브 CUDA 캐싱 allocator가 아닌 경로에서는 주석이 보이지 않을 수 있음을 기록합니다.

어제 다룬 TunableOp·핀드 호스트 기록·그래프 워밍업 연장과는 다른 축입니다. 오늘은 할당 후 주석만 봅니다.

실무에서 바로 볼 포인트

관련 DAKER 학습

설명용 생성 이미지입니다. 동작은 로컬에서 히스토리 on/off와 주석 누적을 같은 텐서로 비교해 확인하십시오.