- https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-xavier-nx/
- https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/
- https://developer.nvidia.com/embedded/downloads
- https://www.jetsonhacks.com
SDカード関連
SDカードイメージのサイズを小さくするため,セットアップ直後はmanページ等が入っていない. 以下を実行してインストールする.
sudo unminimize
apt
コマンドを用いる.
sudo apt update
sudo apt upgrade -y
Jetpackのリリース番号等の確認
cat /etc/nv_tegra_release
パッケージの情報
apt show nvidia-jetpack
より詳細な情報の確認
git clone https://github.com/jetsonhacks/jetsonUtilities.git
cd jetsonUtilities
python jetsonUtilities.py
非GUIモード(コマンドラインモード)で起動すると使用メモリの節約になる.
非GUIモードで起動する設定(ヘッドレスで使う場合はこちら)
sudo systemctl set-default multi-user.target
GUIモードで起動する設定(ディスプレイとキーボード,マウスが必要)
sudo systemctl set-default graphical.target
現在の設定を確認
systemctl get-default
非GUIモードからGUIモードを起動
sudo systemctl start gdm3.service
最初のセットアップはGUIモードが楽. WiFiの設定や不要なソフトウェア(LibreOffice等)の削除を行う. WiFiを使わない場合はコントロールパネルで無効にしておく.
JetPackにはAvahi daemonが最初から入っている.
これによりマルチキャストDNS(mDNS)が利用可能になるため,同一ネットワーク内ではセットアップ時に設定したホスト名(仮にmyjetson
としておく)に.local
をつけたアドレス(myjetson.local
)でアクセスできる.
VSCodeの Remote-SSH 拡張も利用可能.
コア数やクロック等の設定の組をパワーモデルという. GUIモードの場合はメニューから設定できる. パワーモデルの設定は電源を切っても維持される.
現在のパワーモデルを確認
sudo nvpmodel -q
パワーモデルを2(15W, 6コア)に設定
sudo nvpmodel -m 2
パワーモデルの番号(Jetson Nano)
- 0: MAXN
- 1: 5W
パワーモデルの番号(Jetson Xavier NX)
- 0: MODE_15W_2CORE
- 1: MODE_15W_4CORE
- 2: MODE_15W_6CORE
- 3: MODE_10W_2CORE
- 4: MODE_10W_4CORE
- 5: MODE_10W_DESKTOP
パワーモデルの番号(Jetson AGX Xavier)
- 0: MAXN (8 cores)
- 1: MODE_10W (2 cores)
- 2: MODE_15W (4 cores)
- 3: MODE_30W_ALL (8 cores)
- 4: MODE_30W_6CORE
- 5: MODE_30W_4CORE
- 6: MODE_30W_2CORE
- 7: MODE_15W_DESKTOP (4 cores)
パワーモデルの定義は /etc/nvpmodel.conf
に書かれている.
このファイルを編集してパワーモデルの変更や追加が可能.
CPU/GPUのクロックは負荷によって変動する. クロックの最小・最大値はパワーモデルで定義されているが,以下のコマンドでクロック数を最大値に固定することができる.
sudo jetson_clocks
現在のクロック数の設定を確認する
sudo jetson_clocks --show
ベンチマークを取る場合はjetson_clocks
でクロック数を最大値に固定する.
nvpmodel
でパワーモデルを変更するとjetson_clocks
の効果(クロックを最大値に固定)を無効にできる.
CPU/GPUを含むシステム状態の表示
tegrastats
デフォルトでは1秒間隔.--interval 5000
で5秒間隔になる.
ほとんどのサンプルプログラムはGUIモードで(HDMI端子にディスプレイを接続して)実行する必要がある. 外部Xサーバから接続したり,VNCやリモートデスクトップで接続した場合,コンパイルはできるが実行に失敗する.
CUDAのサンプルプログラムのコンパイルと実行例
cp -a /usr/local/cuda/sample .
cd samples/5_Simulations/nbody
make
./ndoby