gpuvis: GPU 트레이스 시각화 도구

gpuvis: GPU Trace Visualizer

github.com/mikesart ▲ 71 댓글 10 luu

요약

gpuvis는 리눅스 커널 트레이스를 타임라인으로 펼쳐 GPU 성능 문제를 찾는 도구입니다.

마이크 사테인이 공개한 이 도구는 윈도의 GPUView와 비슷한 리눅스용 GPU 프로파일러(프로그램이 어디서 시간을 쓰는지 재는 도구)를 목표로 합니다. 라이선스 문서에는 2019년 밸브 소프트웨어의 저작권이 적혀 있습니다.

왜 중요한가

  • 윈도 개발자에게 익숙한 GPUView 방식의 분석을 리눅스에서도 무료로 할 수 있게 해 줍니다.
  • 성능 문제가 GPU 드라이버 쪽인지, 앱이나 CPU 스케줄링 쪽인지 한 타임라인에서 비교해 볼 수 있습니다.

핵심 내용

  • trace-cmd(리눅스 커널의 ftrace 이벤트를 기록하는 도구)로 잡은 트레이스 파일을 읽어 타임라인으로 보여 줍니다.
  • AMD(amdgpu)와 인텔(i915) GPU 드라이버 이벤트, 리눅스 스케줄러의 작업 상태를 함께 표시합니다.
  • 타임라인을 옮기고 확대하며 이벤트를 걸러 볼 수 있고, 수치 변화를 그래프로 그리는 플롯 기능도 있습니다.
  • 프레임 경계를 표시하는 프레임 마커, 화면에 고정하는 툴팁, 이벤트 길이 출력 기능을 갖췄습니다.
  • 화면은 Dear ImGui와 SDL로 만들었고, 코드는 MIT 라이선스로 공개돼 있습니다.

HN 반응

  • Perfetto가 더 현대적인 대안이라는 의견과, 커널 쪽 GPU 디버깅에는 여전히 쓸 만하며 Perfetto와 함께 쓰면 좋다는 의견이 나왔습니다.
  • 크레디트의 깨진 링크를 보고 저품질 프로젝트로 의심한 댓글은, 저자가 밸브 출신이고 README가 5년 전 것이라는 설명을 듣고 철회됐습니다.

댓글

10개 표시 · 전체 10개
  1. shadeslayer HN

    저는 perfetto [1]가 gpuvis를 대신할 만한 훌륭한 최신 도구라고 생각합니다.

    [1] https://ui.perfetto.dev/

  2. B4st144n HN

    스크린샷이 안 열려서 아쉽네요.

  3. Thaxll HN
  4. VoidWhisperer HN

    URL 끝에 붙은 ?raw=true가 문제인 것 같네요.

  5. simoncion HN

    스크린샷이 안 열려서 아쉽네요

      Right Click -> Open Image in New Tab
    

    이렇게 해도 안 되나요? 저는 되던데요. 어차피 거의 모든 이미지를 이렇게 열어야 하기도 하고요. [0]

    [0] ...가끔은 우클릭을 막아 놓은 못된 스크립트를 피하려고 클릭할 때 Shift를 같이 눌러야 하지만요.

  6. ivanjermakov HN

    대체로 2021년 자료입니다.

  7. zx8080 HN

    수정: 제 댓글은 무시해 주세요.

    크레딧 항목에 404 페이지로 연결되는 링크가 여럿 있어서, 이 프로젝트가 완전 날림(slop)인가 싶습니다. 제 착각이면 좋겠네요.

  8. VoidWhisperer HN

    날림은 아닌 것 같습니다. 마이크 사르테인은 밸브에서 일한 경력을 포함해 이력이 꽤 깁니다. README 파일의 마지막 커밋이 5년 전이라서 링크 일부가 404가 뜨는 것이겠죠.

  9. zx8080 HN

    감사합니다! 위의 제 댓글을 수정했습니다.

  10. aiXis HN

    리눅스에서 커널 쪽 GPU 디버깅을 하는 데는 여전히 손꼽히는 무료 도구입니다. ftrace/perf 이벤트를 타임라인으로 읽어 들이면 GPU 스케줄러를 볼 수 있는데, Chrome 트레이싱이나 벤더 도구로는 이만한 시야를 얻기 어렵습니다. 시스템 전체 그림을 볼 때는 perfetto와 함께 쓰면 잘 맞습니다. amdgpu/i915 이벤트 파싱도 놀랄 만큼 세월을 잘 버텼고, Mesa 작업에 유용합니다.

Hacker News에서 보기 ↗