openxla/xprof

A profiling and performance analysis tool for machine learning

XProf – 현대 ML 스택을 위한 확장 가능한 프로파일러

무엇인가요 – XProf는 오픈소스 프로파일링 시스템(텐서보드 플러그인 포함)으로, CPU, GPU, TPU 또는 기타 가속기에서 실행되는 머신러닝 워크로드에서 성능 데이터를 수집, 분석, 시각화할 수 있습니다. JAX, TensorFlow, PyTorch/XLA 및 XLA 스타일 프로파일링 트레이스를 생성하는 기타 프레임워크와 호환됩니다.

주요 기능

  • 개요 페이지 – 스텝 시간, 환경 정보의 고수준 요약 및 스텝별 지연 시간 그래프.
  • 트레이스 뷰어 – 각 연산의 지속 시간, 호스트 또는 디바이스에서 실행되었는지, 그리고 디바이스 간 통신 여부를 보여주는 타임라인.
  • 메모리 프로파일 – 각 디바이스의 메모리 사용량 실시간 보기.
  • 그래프 뷰어 – 모델의 HLO(High-Level Optimiser) 그래프 시각화.
  • 분산 프로파일링 – gRPC를 통해 무거운 처리를 여러 워커 노드에 분산할 수 있는 아그리게이터 지원.
  • 텐서보드 통합 – 호환 가능한 로그 디렉터리로 텐서보드를 실행하면 UI가 #profile 탭에 나타납니다.

설치

# 안정 버전
pip install xprof
# 선택 사항: 텐서보드 통합
pip install xprof tensorboard

Python 3.12+ 사용 시, 오래된 setuptools가 필요할 수 있습니다 (pip install "setuptools<70").

프로파일러 실행 방법

  • 스탠드얼론 서버
    xprof --logdir=path/to/profile_data --port=6006
    # 또는 명시적으로
    xprof server -l path/to/profile_data -p 6006
    
  • 텐서보드를 통한 실행
    tensorboard --logdir=path/to/profile_data
    
    이후 http://localhost:6006/#profile을 열어 주세요.

데이터 제공 방법 XProf는 다음 위치에 .xplane.pb 파일(XLA 프로파일링 트레이스)을 기대합니다:

<log_dir>/plugins/profile/<session_name>/host*.xplane.pb

여러 세션은 UI에서 별도 항목으로 표시됩니다. 또한 URL 매개변수를 사용해 실시간으로 데이터를 로드할 수도 있습니다:

  • session_path – 단일 세션 디렉터리 경로를 지정합니다.
  • run_path – 여러 세션 하위 폴더를 포함하는 디렉터리 경로를 지정합니다.

분산 모드

  1. 하나 이상의 워커 노드를 시작합니다:
    xprof server --grpc_port=50051 --port=9999 --hide_capture_profile_button
    
  2. 워커를 알고 있는 아그리게이터 노드를 시작합니다:
    xprof server \
      --worker_service_address=worker1:50051,worker2:50051 \
      --port=6006 --logdir=profiler/demo
    
    아그리게이터 UI는 무거운 처리(개요, 연산 통계, 입력 파이프라인, 포드 뷰어)를 워커 간에 분산합니다.

자료 및 문서

인용 XProf를 연구 프로젝트에서 사용할 경우, MLSys 2026 논문을 인용해 주세요:

@inproceedings{1076558,
  title     = {XProf: An Open, Scalable and Extensible Profiling System for the Modern ML Stack},
  author    = {Robert Hundt and Naveen Kumar and Jose Baiocchi Paredes and Scott Goodson and Clive Verghese and Prasanna Rengasamy and Kelvin Le and Jiya Zhang and Charles Alaras and Yin Zhang and Kan Cai and Jiten Thakkar and Sai Ganesh Bandiatmakuri and Yogesh SY and Ani Udipi and Vikas Aggarwal},
  year      = {2026},
  booktitle = {Ninth Conference on Machine Learning and Systems}
}

XProf는 튜토리얼 모음이나 단순한 데모가 아니라, 실제 생산 환경에서 사용 가능한 본격적인 ML 워크로드 프로파일링 도구입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트