Jetson Xavier NXでCuda10.0を動かす

2020.07.17

カフェチームの山本です。

最近、Jetson Xavier NXを利用で機械学習のモデルを動かしています。その中で、CUDA10.0に依存するモデルを動かそうとしたのですが、Jetson Xavier NX(JetPack 4.4)にはCUDA10.0が入っていなかったため、動かすことができませんでした。

あまり調べても方法が出てこず、かなり悩みました。なので、共有と備忘録として、簡単ながら記事にしておきたいと思います。解決法が正しい方法であるかはあまり自信がないため、ご注意ください。

どういう状況か・何が問題か

以下のような状況です。

  • Jetson Xavier NX用のJetPackは、ver4.4しか公開されていない(2020/07/17現在)

JetPack Archive

  • JetPack4.4には、CUDA10.0が入っていない(CUDA10.2は入っている)
  • モデルがCUDA10.0に依存している
  • → モデルを動かそうとすると、CUDA10.0がないため動作しない

解決法:Jetson Nano(JetPack 4.2)から転送する

かなり強引な解決方法ですが、JetPack 4.2をインストールしたJetson Nanoから転送する方法をとりました。JetPack 4.2にはCUDA10.0が入っています。コマンドとしては、以下のようです。IPアドレスやユーザ名は適宜変更してください。

# (Jetson Xavier NXのターミナルから) Jetson Nanoにssh接続
ssh yamahiro@192.168.0.122

# ssh先で下を実行(Jetson Xavier NXに転送)
scp -r /usr/local/cuda-10.0 192.168.0.171:/usr/local/

結果を確認したところ、モデルは動作しました。

(他にも方法はあると思います。)

利用できなかった解決法

CUDA10.0用のインストール方法が公開されていますが、「Linux」を選択してもアーキテクチャの項目には「x86_64」「ppc64le」しかなく、Jetson用のものがありませんでした。

CUDA Toolkit 10.0 Archive