jetson_clocks.sh 스크립트를 통해서 현재의 nvpmodel mode에서의 최고의 성능을 달성 할 수 있다. DVFS로 동작하는것을 방지하기 때문이다.
아래와 같이 세가지 동작 옵션을 내장하고 있다.
Maximize jetson performance by setting static max frequency to CPU, GPU and EMC clocks.
Usage:
jetson_clocks.sh [options]
options,
--show display current settings
--store [file] store current settings to a file (default: ${HOME}/l4t_dfs.conf)
--restore [file] restore saved settings from a file (default: ${HOME}/l4t_dfs.conf)
run jetson_clocks.sh without any option to set static max frequency to CPU, GPU and EMC clocks.
pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v411 tensorflow-gpu
미리 nvidia에서 사전에 빌드해둔 것이 https://developer.download.nvidia.com/compute/redist/jp/v411/tensorflow-gpu/에 있다. 이것을 다운받아서 설치하는 명령어이다. 현재 가장 최신 stable 버전을 포함한다.
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> import tensorflow as tf
>>> tf.__version__
'1.12.0'
MNIST데이터를 이용한 CNN 모델 학습 시간 분석
deafult mode = 2로 실험한 결과 아래와 같다.
speed
97 0.9921875
98 0.98828125
99 1.0
time elapsed: 1007.16s
최고성능 모드: mode = 0, jetson_clock.sh
97 1.0
98 1.0
99 1.0
time elapsed: 525.10s
결론적으로 생각보다 느리다.
아래와 같은 수준이다. 이론상 performance는 32-TOPS이다. 기존 다른 NVIDIA tegra 계열이나 1080 또는 2080 계열은 이론상 FLOPS로 표기한다.
결국 아래 성능 차이는 아래와 같다.
GTX 970 < Jetson-Xaiver < 1060 < 1080 < P100
TOPS와 TFLOPS와의 차이점
TOPS are Tera operations per second, i.e. 1 trillion operations (integer, float, etc.) each second.
TFLOPS are Tera floating point operations per second, i.e. 1 trillion (usually single precision) floating point operations per second.
설치가능한 framework들은 아래와 같다.
공식적인 설치 절차
에서 여러 GPU들과 비교 했었다. 같은 코드로 Jetson Xaiver보드도 대략적으로 테스트 해본다.