28.6 cuobjdump

cuobjdump는 NVIDIA의 CUDA 툴킷에 포함된 유틸리티로, CUDA 바이너리 파일을 검사하고 분석하는 데 사용됩니다. 주로 컴파일된 GPU 코드와 메타데이터를 추출하고 표시하는 데 사용되며, 디버깅과 성능 분석에 유용합니다.

주요 기능 및 사용 예

  1. CUDA 바이너리 검사: cuobjdump를 사용하여 CUDA 바이너리(.cubin 파일) 및 CUDA 코드를 포함하는 실행 파일을 검사할 수 있습니다.
  2. PTX 및 SASS 코드 추출: cuobjdump는 CUDA 바이너리에서 PTX(Parallel Thread Execution) 및 SASS(SASS는 NVIDIA GPU의 저수준 어셈블리 언어)를 추출할 수 있습니다.
  3. 심볼 목록 표시: CUDA 바이너리에 포함된 함수 및 변수를 이해하는 데 유용한 심볼 목록을 표시할 수 있습니다.
  4. 섹션 정보 보기: 전역 메모리, 상수 메모리, 로컬 메모리 섹션 등 CUDA 바이너리의 다양한 섹션에 대한 정보를 볼 수 있습니다.

기본 명령어

  • 정보 덤프: CUDA 바이너리에 대한 정보를 덤프하려면 다음 명령을 사용합니다:
    cuobjdump <파일>
  • PTX 코드 추출: CUDA 바이너리에서 PTX 코드를 추출하려면:
    cuobjdump --dump-ptx <파일>
  • SASS 코드 추출: SASS 코드를 추출하려면:
    cuobjdump --dump-sass <파일>
  • 심볼 목록 보기: CUDA 바이너리의 심볼을 나열하려면:
    cuobjdump --dump-syms <파일>

사용 예제

예를 들어, example.cubin이라는 CUDA 바이너리 파일이 있다고 가정할 때:

  • 모든 정보를 덤프하려면:
    cuobjdump example.cubin
  • PTX 코드를 얻으려면:
    cuobjdump --dump-ptx example.cubin
  • SASS 코드를 얻으려면:
    cuobjdump --dump-sass example.cubin
  • 심볼 목록을 얻으려면:
    cuobjdump --dump-syms example.cubin

이 명령어들은 CUDA 바이너리의 내용을 상세히 살펴볼 수 있게 해주며, 개발자가 GPU 코드를 이해하고 최적화하는 데 도움을 줍니다.

Leave a Comment