<참조> https://engineer-mole.tistory.com/227

 

파이썬, Nvidia-smi 정보 출력하기 

 

아래 소스 코드를 실행하면 Nvidia-smi 실행 파일에 옵션을 지정하여 실행하고

결과 화면 정보를 가져와서 출력합니다.

해당 설명은 상단에 있는 참조 링크에서 확인할 수 있습니다.

 

참고로 Nvidia 패키지가 설치된 곳에서만 동작하며,

예제의 경우 nvidia-smi 실행 파일 경로는 다음처럼 지정했습니다.

 

  "C:/Program Files/NVIDIA Corporation/NVSMI/nvidia-smi" 

 

[ nivdia_smi_info.py ]

import subprocess
import json

DEFAULT_ATTRIBUTES = ( 'index', 'uuid', 'name', 'timestamp', 'memory.total', 'memory.free', 'memory.used', 'utilization.gpu', 'utilization.memory' )

def get_gpu_info(nvidia_smi_path='nvidia-smi', keys=DEFAULT_ATTRIBUTES, no_units=True):
    nu_opt = '' if not no_units else ',nounits'
    cmd = '%s --query-gpu=%s --format=csv,noheader%s' % (nvidia_smi_path, ','.join(keys), nu_opt)
    output = subprocess.check_output(cmd, shell=True)
    lines = output.decode().split('\n')
    lines = [ line.strip() for line in lines if line.strip() != '' ]
    return [ { k: v for k, v in zip(keys, line.split(', ')) } for line in lines ]

import pprint
nvidia_smi_path = r'"C:/Program Files/NVIDIA Corporation/NVSMI/nvidia-smi"'
pprint.pprint(get_gpu_info(nvidia_smi_path=nvidia_smi_path))


[ 실행 결과 ]


[{'index': '0',
  'memory.free': '979',
  'memory.total': '1024',
  'memory.used': '45',
  'name': 'NVS 4200M',
  'timestamp': '2022/01/26 22:48:10.563',
  'utilization.gpu': '[Not Supported]',
  'utilization.memory': '[Not Supported]',
  'uuid': 'GPU-3a693433-9182-b8c9-ce58-99ccddf824f0'}]

 

반응형

+ Recent posts