IT/리눅스

nvidia GPU power limit 설정하기 (Unable to determine the device handle for GPU, Unknown Error)

빗자루검 2024. 2. 27. 17:51
반응형

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

 

 

이제 확인해볼까요

 

 

정상적으로 제한이 설정 되었음을 볼 수 있습니다.

 

 

반응형