<참조> 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'}]
'Python 활용' 카테고리의 다른 글
파이썬, 다중 HTTP 요청 (synchronous, multiprocessing, multithreading, asyncio) (0) | 2022.01.29 |
---|---|
API Requests 속도 향상 (Async Python) (0) | 2022.01.28 |
파이썬, CPU 이용률, 메모리 크기/이용률 출력 (0) | 2022.01.26 |
파이썬, JSON <--> 사전 자료 <--> 문자열 구조 변환 (0) | 2022.01.24 |
파이썬, 스케줄 기능 처리 (0) | 2022.01.18 |