Robotics

NVIDIA Jetson을 통한 전력 최적화

Reading Time: 5 minutes

Jetson 모듈과 같은 임베디드 시스템으로 작업할 때는 전력 예산과 컴퓨팅 리소스에 따라 애플리케이션을 최적화해야 합니다. 성능 또는 열 제한 문제를 방지하려면 이러한 리소스를 모니터링하는 것이 매우 중요합니다.

Jetson 모듈은 GPU, CPU 및 다양한 AI 가속기로 설계되었습니다. 또한 전력 효율을 최적화하기 위해 고효율 전력 관리 집적 회로(PMIC), 전압 조정기 및 전력 트리를 갖추고 있습니다. NVIDIA는 전력 아키텍처를 활용하고 리소스 사용을 최적화하는 데 도움이 되는 여러 도구와 리소스를 제공합니다:

  • 다양한 전원 모드
  • 전력, 열 및 전기 관리 기능
  • 전력 및 열 상태를 모니터링하기 위한 Jetson Power GUI
  • 모듈 관련 커맨드라인 통계를 제공하는 Tegrastats
  • JTOP

Jetson 전원 모드

각 Jetson 모듈은 특정 전력 예산에 최적화된 여러 가지 사전 구성된 전력 모드를 지원합니다: 10와트, 15와트, 30와트 등입니다. 각 전력 예산에 따라 리소스 활용 측면에서 다양한 구성이 가능합니다.

이러한 전원 모드는 nvpmodel을 사용하여 설정되며, 사전 구성된 모드 중 하나를 사용하거나 요구 사항에 맞게 조정된 사용자 지정 전원 모드를 생성할 수 있습니다. nvpmodel 구성을 사용하면 특정 수의 온라인 GPU TPC, CPU, DLA 및 PVA 코어와 특정 주파수를 사용하여 모듈을 특정 전력 예산 내에서 유지할 수 있습니다.

MAXN 모드는 제약 없는 전력 모드로도 사용할 수 있습니다. 이 모드를 사용하면 다양한 프로세서 및 엔진의 코어 수와 클럭 주파수를 최대로 설정할 수 있으며, 이를 조정하여 성능과 전력 소비의 균형을 맞추는 맞춤형 전원 모드를 만들 수 있습니다.

전력, 열 및 전기 관리 기능

Jetson은 다양한 전력, 열 및 전기 관리 기능을 제공합니다:

  • 클록(Clock) 게이팅
  • 전력 게이팅
  • 동적 전압 주파수 스케일링
  • 최대 절전(SC7) 모드
  • 유휴(Idle) 전력 모드

자세한 내용은 Jetson Linux 개발자 가이드에서 지원되는 모드 및 전력 효율을 참조하세요.

Jetson Power GUI

열 및 전력 관리에 도움이 될 수 있는 NVIDIA의 다양한 도구가 JetPack과 함께 제공됩니다. 이러한 도구 중 하나는 JetPack 이미지의 일부로 설치되는 Jetson Power GUI입니다.

Jetson Power GUI를 사용하면 Jetson 보드의 전력 및 열 상태를 모니터링할 수 있습니다. 메인 탭에서 CPU 및 GPU 사용량과 디바이스 온도를 추적할 수 있습니다. 실시간 모니터링을 통해 성능 병목 현상이나 성능 제한으로 이어질 수 있는 과도한 전력 소비를 신속하게 파악할 수 있습니다.

Jetson Power GUI를 사용하면 전원 모드를 조정하여 성능과 전력 소비 간의 균형을 최적화할 수 있습니다. 사용 중인 Jetson 보드에 따라 사전 정의된 전원 모드 중 하나를 선택할 수 있습니다.

그림 1. Jetson Power 시작 페이지

또한 Power GUI 툴을 사용하면 특정 기간 동안 관련 전력 관련 정보를 로그 파일에 기록할 수 있습니다. 이 기능은 특정 작업 또는 특정 시간 동안의 동작을 캡처하고 분석하는 데 유용합니다. 예를 들어, 시작 후 처음 3분 이내에 Jetson의 성능에 대한 정보를 캡처할 수 있습니다.

그림 2. Power GUI의 예제 로그 파일

플롯 그래프… 버튼은 데이터 시각화 기능을 제공하므로 실시간 전력 관련 정보를 플롯할 수 있습니다. 캡처한 로그 파일을 그래프로 표시하여 시스템 성능을 더욱 간단하게 시각화할 수도 있습니다.

그림 3. 그래프 플롯 채널 선택
그림 4. Jetson Power GUI에서 플롯된 그래프 예제

Tegrastats

테그라스탯(Tegrastats)는 Jetson 플랫폼에서 메모리 및 프로세서 사용량을 보고하는 NVIDIA에서 제공하는 명령줄 유틸리티입니다. 이 유틸리티는 JetPack과 함께 제공되며 <top>/core/utils/tegrastats.에서 찾을 수 있습니다.

테그라스탯는 CPU, GPU 및 메모리와 같은 여러 사용량 메트릭에 대한 인사이트를 제공합니다. 또한 전력 소비를 모니터링하고 전력 사용량에 대한 실시간 업데이트를 제공하는 기능도 제공합니다. 이러한 메트릭은 시스템 성능을 이해하는 데 매우 중요합니다.

또한 테그라스탯는 CPU 및 GPU의 작동 온도와 같은 열 동작에 대한 정보도 제공합니다. 이는 열 제한을 방지하는 데 도움이 될 수 있습니다.

사용 방법

Jetson에서 테그라스탯 유틸리티를 사용하려면 다음 명령을 사용하십시오.

포그라운드에서 다음 명령을 실행합니다:

$ tegrastats —interval <int>

이 명령에서 <int>는 로그 인쇄 간격(밀리초)입니다. 기본적으로 테그라스탯은 매초마다 통계를 업데이트합니다.

백그라운드에서 다음 명령을 실행합니다:

$ tegrastats —interval <int> -logfile <out_file> &

이 명령에서 <out_file>은 테그라스탯이 로그 인쇄를 기록하는 출력 파일의 경로 이름입니다.

다음은 테그라스탯의 샘플 출력입니다:

RAM 1545/31919MB (lfb 7400x4MB) SWAP 0/15959MB (cached 0MB) CPU
[0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190,0%@1190]
EMC_FREQ 1%@408 GR3D_FREQ 0%@318 VIC_FREQ 0%@115 APE 150 MTS fg 0% bg 0%
AO@38C GPU@39.5C Tdiode@43.25C PMIC@100C AUX@38.5C CPU@39.5C
thermal@38.8C Tboard@39C GPU 0/0 CPU 468/468 SOC 937/937 CV 0/0 VDDRQ
312/234 SYS5V 1458/1458

또한 테그라스탯을 스크립트나 애플리케이션에 통합하여 시스템 통계를 캡처할 수 있으므로 더 많은 자동화 시나리오를 구현할 수 있습니다.

JTOP(Jetson-stats)

JTOP는 Jetson의 리소스를 모니터링하고 제어할 수 있는 사용자 친화적인 방법입니다. 애플리케이션의 다양한 병목 현상을 시각화하고 이해하는 데 도움이 될 수 있습니다. 예를 들어, 애플리케이션이 메모리 작업을 많이 사용하는지 또는 애플리케이션이 Jetson 모듈의 하드웨어 가속 엔진을 사용하지 않는지 여부를 보여줍니다. 이러한 방식으로 JTOP는 Jetson 모듈에 최적화된 보다 효율적이고 간소화된 애플리케이션으로 이어집니다.

그림 5. JTOP 시작 화면

JTOP는 NVIDIA Jetson 모듈을 모니터링하고 관리하기 위해 특별히 설계되었습니다:

  • NVIDIA Orin
  • NVIDIA Xavier
  • NVIDIA Nano
  • NVIDIA TX

시스템 성능에 대한 실시간 업데이트를 제공합니다. 이를 통해 CPU 및 GPU 사용량, 작동 온도, 메모리 사용량 및 기타 관련 정보를 분석할 수 있습니다.

JTOP를 사용하면 이 정보를 GUI에서 액세스하여 정보를 더 잘 시각화할 수 있습니다. 따라서 특히 과중한 AI 워크로드를 실행할 때 시스템의 메트릭과 성능 수치를 추적하는 편리한 방법을 제공합니다.

JTOP는 시스템 성능을 조정할 수 있는 기능도 제공합니다. Jetson 장치를 실행할 전원 모드를 선택할 수 있을 뿐만 아니라 팬 속도도 제어할 수 있습니다. 이는 시스템 성능과 열을 최적화하는 데 도움이 됩니다.

그림 6. JTOP 메모리 모니터

JTOP는 전력 예산으로 시스템을 구축하면서도 가능한 최대 성능을 끌어내는 데 특히 유용합니다. 설치하려면 pip를 사용하세요:

$ sudo apt update 
$ sudo apt-get install python3-pip
$ sudo pip install -u jetson-stats

jtop 커맨드를 사용하세요.

$ jtop

JTOP 도구는 스크립트에 JTOP 함수를 쉽게 포함할 수 있는 API가 포함된 Python 라이브러리로도 제공됩니다.

from jtop import jtop
 
with jtop() as jetson:
    while jetson.ok():
        #read jetson stats
        print(jetson.stats)

자세한 내용은 JetsonHacks의 다음 동영상을 참조하세요.

동영상 1. JTOP: Jetson 전문가가 사용하는 도구.

지금 바로 전력 최적화를 시작하세요

NVIDIA Jetson 플랫폼은 로봇 공학 및 엣지 AI를 위한 엣지 추론 성능을 지속적으로 발전시키고 있습니다. 대부분의 엣지 AI 애플리케이션에서 전력 예산을 준수하는 것은 중요한 요소입니다. NVIDIA 툴을 사용하면 시스템 성능을 모니터링하고 맞춤형 전력 프로필을 모델링할 수 있습니다.

자세한 내용은 다음 리소스를 참조하십시오:

이 게시물에 언급된 모든 도구를 사용하면 애플리케이션에 전력 효율적이고 성능에 최적화된 시스템을 쉽게 만들 수 있습니다.

관련 리소스

Discuss (0)

Tags