메모리 프로필 도구
메모리 프로필을 사용하여 시간 경과에 따른 가속기의 메모리 사용량을 시각화할 수 있습니다.
지원되는 플랫폼
TPU: 지원됨
GPU: 지원됨
메모리 프로필 도구 사용
메모리 프로필에는 다음과 같은 구성요소가 있습니다.
- 페이지 상단의 메모리 ID 선택기를 사용하면 프로파일링 중인 호스트에 연결되어 있을 수 있는 여러 가속기 중 하나에 연결된 고대역폭 메모리 (HBM) 또는 경우에 따라 호스트 메모리에 집중할 수 있습니다.
- '메모리 타임라인 그래프' 및 '메모리 프로필 요약'은 스택 및 힙별 분류, 단편화의 영향 등 프로파일링 세션 중에 발생한 메모리 할당, 할당 해제, 사용에 관한 대략적인 정보를 캡처합니다.
- 메모리 분석 표는 메모리 사용량에 가장 큰 영향을 미치는 프레임워크 수준 작업에 관한 정보를 제공합니다. 컴파일러가 XProf에 이 정보를 제공하는 경우 도형, 데이터 유형 등의 추가 연산별 세부정보도 있습니다. 이 표는 메모리 부족 (OOM) 상황을 디버깅하는 데 도움이 되도록 프로파일링 기간 내 최대 사용량 지점에서 이러한 세부정보를 보여줍니다.
- 할당 및 할당 해제는 전체 HBM 메모리 공간을 소유한 XLA의 런타임 할당자에 의해 관리되고 프로필에 추가됩니다.
- 메모리 프로필은 일반적으로 TPU 워크로드보다 GPU 프로파일링에 더 흥미롭고 가치가 있습니다. TPU 실행 모델은 일반적으로 모델 학습이나 추론 중에 XLA 컴파일러가 대규모로 선행 할당하는 것을 포함합니다. 따라서 할당 차트가 평평한 가로선처럼 보이는 경우가 많습니다. 프로파일러가 실행 중인 시점에서 활성화되어 있다면 할당이 모두 프로필의 맨 처음에 발생했을 가능성이 높으므로 표시되지 않습니다.
- 메모리 프로필 요약 및 메모리 타임라인 그래프의 조각화 측정항목 (백분율)은 메모리 조각화 문제를 식별하는 데 도움이 됩니다. 단편화 값이 높으면 총 여유 메모리는 충분할 수 있지만 연속적이지 않으므로 대규모 할당 요청이 실패할 수 있습니다.
이 도구와 메모리 뷰어 도구의 주요 차이점은 다음과 같습니다.
- 메모리 뷰어는 순전히 정적이며 프로그램 순서에 중점을 둡니다. 메모리 프로필은 프로파일링 간격 동안 시간 경과에 따른 동적 뷰를 제공합니다.
- 메모리 뷰어는 XLA 모듈별로 메모리 할당을 시각화합니다. 여러 XLA 모듈로 구성된 워크로드의 경우 메모리 프로필은 메모리의 전반적인 보기를 제공합니다.