NVIDIA/nvbench

CUDA Kernel Benchmarking Library

해결하는 문제

NVBench는 CUDA 커널 벤치마킹 과정을 간소화합니다. 실행 시간, 메모리 대역폭, 처리량을 측정하는 구조화된 방법을 제공하여 GPU 커널에 대한 복잡한 성능 테스트를 수동으로 설정할 필요를 제거합니다.

작동 방식

C++17 라이브러리로, 특정 커널에 대한 벤치마크를 정의할 수 있습니다. '축(axis)' 시스템을 사용하여 파라미터 스윕을 수행하고, 데이터 크기나 타입과 같은 다양한 구성 설정을 탐색하여 최적의 설정을 찾습니다. '콜드 측정'(L2 캐시 비우기)과 '배치 측정'(여러 반복 실행)과 같은 다양한 측정 모드를 지원하여 정확한 타이밍을 보장합니다.

대상 사용자

개별 GPU 커널을 튜닝하고 하드웨어에서 회귀 테스트를 수행해야 하는 CUDA 개발자 및 성능 엔지니어.

주요 기능

  • 파라미터 스윕: 동적 숫자, 문자열, 정적 타입을 사용하여 커널 구성 공간을 유연하게 탐색하는 시스템.
  • 처리량 분석: 자동으로 항목 처리량(요소/초)과 피크 대역폭 대비 글로벌 메모리 대역폭 사용량을 계산.
  • 런타임 커스터마이징: 재컴파일 없이 파라미터 축을 재정의하고 CUDA 장치를 선택할 수 있는 풍부한 CLI 제공.
  • 다양한 측정 유형: 콜드 스타트, 배치 실행, CPU 전용 측정을 지원.
  • 유연한 출력 형식: 마크다운 또는 CSV 형식으로 결과를 생성.

관련

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