GPU를 이용하여 딥러닝을 하다보면 GPU device Error로 인해 먹통이 되거나 드라이버가 정상 동작하지 않는 경우가 있습니다.
Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error
이런 경우 사실 할 수 있는 것은 많지 않습니다. 전력제어를 통해서 디바이스가 과열되지 않도록 하는 정도죠..
GPU의 전력 제한(Power Limit) 설정을 조정하는 것은 여러 상황에서 필요하거나 유용할 수 있습니다.
1. 전력제한이 필요한 경우
주로 성능 최적화, 시스템 안정성 유지, 에너지 효율성 향상, 그리고 장비의 수명 연장을 위해 사용됩니다.
(1) 열 관리
과열 방지: 고성능 작업으로 인해 GPU 온도가 너무 높아지는 것을 방지하기 위해 전력 제한을 설정할 수 있습니다. 이는 쿨링 시스템이 충분하지 않은 경우 특히 중요합니다.
(2) 성능 최적화
성능 및 전력 소비 균형: 최대 성능을 필요로 하지 않는 경우, 전력 제한을 통해 에너지 효율을 높이면서도 필요한 성능을 제공할 수 있습니다.
(3) 에너지 효율성 향상
전력 비용 절감: 대규모 컴퓨팅 환경 또는 데이터 센터에서는 전력 소비를 줄임으로써 상당한 비용 절감 효과를 얻을 수 있습니다.
(4) 장비의 수명 연장
하드웨어 스트레스 감소: 지속적으로 높은 전력으로 운영되는 GPU는 과열 및 기타 스트레스로 인해 수명이 단축될 수 있습니다. 전력 제한을 통해 하드웨어에 가해지는 부담을 줄일 수 있습니다.
(5) 시스템 안정성 유지
전력 공급 안정성: 특히 여러 개의 고성능 GPU를 사용하는 시스템에서는 전력 공급 장치(PSU)에 과부하가 걸릴 수 있습니다. 전력 제한을 설정함으로써 시스템의 전체적인 안정성을 유지할 수 있습니다.
2. GPU Power 설정 확인하기
기본적으로 nvidia-smi 만으로도 확인은 가능합니다.
좀더 상세하게 보기위해서는 다음 명령을 사용합니다.
nvidia-smi -q -d POWER
3. Power limit 설정 하기
이제 제한을 걸어보겠습니다. 현재 최대 값은 250W 입니다.
다음 두가지 옵션을 사용합니다. 250W에서 230W로 낮춰보겠습니다.
-pm --persistence-mode
-pl --power-limit
nvidia-smi -pm 1
nvidia-smi -pl 230
이제 확인해볼까요
정상적으로 제한이 설정 되었음을 볼 수 있습니다.
'IT > 리눅스' 카테고리의 다른 글
rocky linux docker 시간 설정 변경(timezone, timedatectl) (0) | 2024.04.03 |
---|---|
Rocky linux 시스템의 현재 접속 정보와 작업 정보 알아내기(who, w, last, netstat, ss) (0) | 2024.03.22 |
cpu, ram 사용량 및 gpu, gpu ram 사용량 실시간 확인하기 (0) | 2024.02.26 |
ffmpeg으로 nvidia gpu로 영상 인코딩 하면서 multicast 송출하기(멀티 GPU사용, hwaccel, cuda) (0) | 2024.02.22 |
다양한 포맷의 동영상 파일을 mpegts, udp multicast로 송출하기(mp4, mov, mpegts..) (0) | 2024.02.22 |