Jetson Xavier NXでCuda10.0を動かす
カフェチームの山本です。
最近、Jetson Xavier NXを利用で機械学習のモデルを動かしています。その中で、CUDA10.0に依存するモデルを動かそうとしたのですが、Jetson Xavier NX(JetPack 4.4)にはCUDA10.0が入っていなかったため、動かすことができませんでした。
あまり調べても方法が出てこず、かなり悩みました。なので、共有と備忘録として、簡単ながら記事にしておきたいと思います。解決法が正しい方法であるかはあまり自信がないため、ご注意ください。
どういう状況か・何が問題か
以下のような状況です。
- Jetson Xavier NX用のJetPackは、ver4.4しか公開されていない(2020/07/17現在)
- 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用のものがありませんでした。