Nvidia GPU 보는 방법

작성자 이호영 수정일 2023-03-20 15:56

들어가며

  • nvidia-smi 명령어를 사용하여 나온 항목들에 대해 알아봅니다.



Nvidia-smi

  • NVIDA의 GPU는 많은 양의 연산을 빠르게 처리해 줄 수 있습니다. 이를 위해 nvidia에서 제공하는 gpu driver를 os에 맞게 설치해 주어야 합니다.
  • gpu driver 설치 후 gpu의 상태나 정보를 확인 할 수 있도록 도와주는 명령어가 바로 nvidia-smi 입니다. 


Nvidia-smi 실행 화면


Nvidia-smi의 각 항목 별 의미

  • 명령어를 실행했을 때 출력 된 항목들에 대해 아래와 같이 알아봅니다.

① Driver Version

   - 현재 설치되어 사용하고 있는 nvidia GPU driver version 입니다.


② CUDA Version

   - 현재 사용하고 CUDA의 version을 표시한 것입니다.

   - 경우에 따라 CUDA Version과 설치된 CUDA Version 차이가 발생할 수 있습니다. 

     > nvidia-smi에 출력된 CUDA Version은 현재 사용하고 있는 nvidia GPU와 호환되는 버전을 출력 하였을 때 나옵니다.    

     > CUDA가 정상적으로 실행 되면 문제가 발생하지 않습니다.

     > 참고 사이트 

       - https://stackoverflow.com/questions/53422407/different-cuda-versions-shown-by-nvcc-and-nvidia-smi


③ GPU Fan

   - 현재 설치 되어 있는 GPU의 번호를 표기하고 장착되어 있는 GPU의 fan 성능을 %로 나타낸 것 입니다. 

    - fan이 없는 Telsa 모델의 경우 N/A 로 표시 됩니다.


④-1 Name

   - GPU의 모을 나타냅니다.


④-2 Persistence -M

  - Persistence-Mode 로 power를 지속할 지 정해주는 옵션입니다.

  - default mode는 off 이며 on-mode가 되면 power-limit을 설정할 수 있습니다. 

  - on-mode에서 GPU 사용 시 지연 시간을 아끼는 장점이 존재하지만 전력을 더 낭비하는 단점이 존재합니다.


④-3 Temp

  - GPU의 현재 온도를 섭씨로 표시한 것입니다.


④-4 Perf

  - Performance의 약자로 P0 ~ P12까지 존재하며, P0에 가까울수록 GPU의 Performance가 높습니다. 


④-5 Pwr:Usage/Cap

    - GPU의 현재 전력의 사용량과 최대 용량을 나타낸 것입니다.


⑤-1 Bus-Id

    - 제조사의 메인보드마다 가지고 있는 PCI slot에 부여된 BUS-ID입니다.

    - 이것을 참고하여 사용하는 GPU number와 메인보드의 PCI slot을 매칭시켜 확인할 수 있습니다.


⑤-2 Disp.A

    - RTX / Quadro 계열의 GPU에서 사용되는 것으로 모니터를 연결한 출력 포트의 GPU는 on으로 변경됩니다.


⑤-3 Memory-Usage

    - 현재 사용하고 있는 GPU의 memory와 GPU의 총 memory를 나타는 것으로 GPU마다 memory의 크기가 다릅니다.

    - MiB로 표기되며 Mebibyte의 약자입니다.


⑤-4 Voltaile Uncorr.ECC

    - ECC count가 생기면 숫자가 증가하며 default는 on 입니다. 

    - ECC on인 상태에서 count가 계속 발생하면 system Hang이 발생하여 운영이 불가능한 상태가 되기도 합니다.

    - 보통은 off로 설정합니다. 이 경우  GPU의 memory 총량이 늘어나게 됩니다.


⑤-5 GPU-Util

    - GPU의 현재 성능을 나타내는 것으로 100%의 성능 중 얼만큼 사용하고 있는지 나타냅니다.


⑤-6 Compute M.

    - Compute Mode 로 4가지의 mode가 존재합니다. 

    - 0번 : default

      1번 : exclusive thread mode

      2번 : prohibited mode

      3번 : exclusive process mode


⑤-7 MIG M

    - MGI는 Multi-Instance GPU, M은 MIG-Mode 약자입니다. 

    - MIG M은 GPU를 Slice하는 기능으로 CUDA application을 실행 시 최대  7개의 개별 GPU instance로 안전하게 분할하여 

      여러 사용자에게 별도의 GPU를 제공하여 작업을 가속화 하는데 도움을 줍니다.

    - 여러개의 instance를 지원하는 MIG는 오직 NVIDIA A100 모델에서만 지원되고 이외의 필요조건이 필요합니다.

   > GPU 번호 별 process ID 등 현재 사용 중인 정보들을 확인할 수 있습니다.

   > Type은 2가지로 되어 있습니다.

       1) G (Graphcis)  

           - 그래픽을 사용하거나 video rendering 등 NVIDIA GPU의 graphic-mode를 사용하는 process를 의미합니다.

       2) C (Compute)

           - deep learning의 학습과 테스트하거나 CUDA library를 사용하는NVIDIA GPU의 compute-mode를 사용하는 process

             의미합니다.

       3) G +C

           - compute + graphic을 함께 사용하는 process를 의미합니다.


NVIDIA-SMI Option

  • nvidia-smi -q

           - -q, --query :  현재 설치 되어있는 GPU의 모든 정보를 보여주는 옵션입니다.


  • nvidia-smi -q -d [select 조건]

           - -d, --display : -q 옵션으로 출력된 정보를 select 하여 display 해줍니다.


  • nvidia-smi -L

           - -L, --list-gpus : GPU List의 UUID 값을 보여주는 옵션입니다. 

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300