NVIDIA Jetson TX2を買ったのでセットアップ

届きました!

f:id:dfukunaga:20170902213325p:plain

意外と大きいです。一辺20cmくらいでしょうか。 ディスプレイ(HDMI)、キーボード、マウス、電源を接続します。USBポートは一基しかないので、キーボードとマウスを両方接続する場合は USBハブを使うか、付属のMicroUSB-USB変換ケーブルを使います。

f:id:dfukunaga:20170902213757p:plain

電源ボタンを押すとUbuntu 16.04のコンソールが開きます。 まずは以下のコマンドでドライバをインストールします。 (sudo時のパスワードはnvidia

$ cd NVIDIA-INSTALLER
$ sudo ./installer.sh
$ sudo reboot

再起動するとGUIが立ち上がります。 Wi-Fiもしくは有線でネットワークの設定を行っておきます。 (後で使うので、割り振られたIPアドレスを確認しておきます。)

ここから、JetPackのインストールです。

JetPackとは、CUDAやcuDNNを始め、Jetsonを使うのに必要そうなソフトウェアをまとめたものっぽいです。 筆者はMacbook Proを使っているので、VirtualBox上のUbuntu 16.04をホストとしてJetPackをインストールすることにしました。

こちらからUbuntu 16.04のイメージをダウンロードして、 VirtualBoxVMを作ります。JetPackのインストールに最低10GBのディスクスペースが必要とのことなのですが、 ディスクサイズは余裕を持って30GBに設定しました。

(2018/05/03追記) VirtualBox経由だとセットアップがうまくいかないケースがあります。(JetsonのOSを書き換える場合?) 直接UbuntuをインストールしたPCがあれば、そちらを使うことを推奨します。

VMを起動してこちらからJetPackをダウンロードします。 NVIDIA Developer Programへの登録が必要になります。ダウンロードしたら以下のコマンドで実行。

$ chmod +x JetPack-L4T-3.1-linux-x64.run
$ ./JetPack-L4T-3.1-linux-x64.run

途中の"Component Manager"画面でFlash OS Image to TargetのActionをno actionに変更します。 各種パッケージをインストールした後、 "Device Information - Jetson TX2"画面でJetsonのIPアドレスとユーザ名、パスワード(共にnvidia)を入力します。

新しいウィンドウが開き、Jetson側にいろいろインストールされていき、 Installation of target components finished, close this window to continue.と表示されたら終わりです。 /home/nvidia/NVIDIA_CUDA-8.0_SamplesにCUDAのサンプルが入っているので、 これがうまく動けば少なくともCUDAはちゃんと入っているはずです。

ちなみに、JetsonではNVIDIAGPUでおなじみのnvidia-smiコマンドは対応していないみたいです。 代わりにホームディレクトリにあるtegrastatsGPUの状態を確認します。

nvidia@tegra-ubuntu:~$ sudo ./tegrastats 
RAM 1103/7851MB (lfb 1501x4MB) cpu [0%@1728,off,off,0%@1728,0%@1727,0%@1728] EMC 0%@1600 APE 150 GR3D 0%@114
RAM 1103/7851MB (lfb 1501x4MB) cpu [0%@345,off,off,1%@345,0%@346,5%@345] EMC 8%@40 APE 150 GR3D 0%@114
RAM 1103/7851MB (lfb 1501x4MB) cpu [1%@345,off,off,1%@345,0%@345,5%@345] EMC 8%@40 APE 150 GR3D 0%@114
RAM 1103/7851MB (lfb 1501x4MB) cpu [1%@345,off,off,2%@345,0%@345,4%@339] EMC 8%@40 APE 150 GR3D 0%@114

GR3Dの右がGPU使用率だそうです。GPUメモリはシステムと共有らしいので一番左の列を見ればOKです。