Jupyter Lab 환경에서 개발자가 직접 GPU 자원 활용률을 시각화하는 간단한 방법 - NVDashboard

NVDashboard는 Jupyter Lab 환경에서 개발자가 직접 GPU 자원 활용률을 볼 수 있도록 돕는 오픈 소스 패키지입니다. NVDashboard를 사용하면 데이터 과학자나 개발자는 자신의 노트북 환경에서 작성한 코드를 실행하는 데 있어 시스템 자원을 적절히 활용하고 있는지 손쉽게 확인할 수 있습니다.


NVDashboard는 시각화를 지원합니다. 따라서 nvidia-smi 같은 명령을 이용해 확인하는 것보다 자원 활용 현황을 더 직관적으로 파악할 수 있습니다. 또한, 모니터링 대상을 커스터마이징 할 수도 있어 나만이 대시보드도 구성할 수 있습니다.



NVDashboard 패키지를 설치하면 기본적으로 다음 요소들을 모니터링합니다. 사용자는 대시보드를 통해 다음 요소의 변화를 실시간으로 확인할 수 있습니다.


  • GPU 활용률

  • GPU 메모리 소비량

  • PCIe 처리량

  • NVLink 처리량


PyNVML과 Bokeh를 사용하면 다음과 같은 추가 요소를 더해 나만의 대시보드를 생성할 수도 있습니다.

  • ECC 오류 수

  • 활성 컴퓨팅 프로세스

  • 클럭 및 PState

  • 온도 및 팬 속도

  • 전원 관리

  • 기타 동적, 정적 정보(보드 일련번호, PCI 장치 ID, VBIOS/Inforom 버전 번호 등)

NVDashboard 패키지의 구성 요소는 Bokeh 서버와 Jupyter Lab 익스텐션 두 가지입니다. Bokeh 서버는 오픈 소스 Python 패키지인 PyNVML을 사용하 하드웨어 메트릭에 접근합니다. 그리고 시각화 라이브러리를 활용해 대시보드에 자원 활용 정보를 실시간으로 표시합니다. Jupyter Lab 익스텐션은 사용자의 노트북 환경에 GPU 대시보드 창을 추가합니다. 설치는 간단합니다. 터미널을 띄워 다음 명령을 실행하면 서버와 클라이언트 요소가 설치됩니다.


$ pip install jupyterlab-nvdashboard

$ jupyter labextension install jupyterlab-nvdashboard

설치를 마치면 다음과 같이 Jupyter Lab 환경의 왼쪽 측면에서 GPU 대시보드 메뉴가 생성된 것을 확인할 수 있습니다.



NVDashboard는 로컬 노트북 환경에서 사용하는 리소스뿐만 아니라 전체 시스템 자원까지 모니터링할 수 있습니다. 따라서 모델 개발과 훈련 전체 워크플로우에 대한 자원 모니터링을 노트북 환경에서 할 수 있습니다.

#NVIDIA #NVDashboard # Jupyter_Lab

조회 20회