NVIDIA版Raspberry Piとも呼べるシングルボードコンピュータ「NVIDIA Jetson」について、Jetson向けに提供されているOSパッケージ「JetPack」のメジャーアップデートがありましたので触れておきます。
昨日までは、JetPack 4.5.1 が提供されていましたが、本日より JetPack 4.6 の提供が開始されました!
今回のアップデートは、ロードマップの7月提供開始予定分として掲載されていたものになります。8月に入りたてなので滑り込みセーフ!?
キーハイライトは NVIDIA Developer Forum でNVIDIAモデレーターの方が書いているとおりです。
Linux for Tegra (L4T) 32.6.1 のドキュメントはこちら。
https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/
NVIDIA Jetson Nano 2GB 開発者キットもアップデート対象です。
イメージのダウンロード等は、JetPack SDKのサイトからおこなってください。
本稿では、アップデート内容について触れたいと思います。
NVIDIA JetPack SDK 4.6 / Linux for Tegra (L4T) 32.6.1 / Linux Kernel 4.9
概要:
JetPack 4.6 は、現在のJetPackにおける最新のプロダクションリリースバージョンです。
最近リリースされた「Jetson AGX Xavier Industrial モジュール」(産業用途に特化したAGX Xavier)を含むすべてのJetsonモジュールがサポート対象です。
※AGX Xavier Industrial モジュールにとっては、これが最初のサポートバージョンです。
JetPack 4.6 では、Triton Inference Serverをサポートするほか、CUDA, cuDNN, TensorRT の新しいバージョンや、VPI 1.1 では新しい画像処理アルゴリズムと Python言語向けバインディングを提供します。
L4Tバージョンは 32.6.1 になり、Over-The-Air アップデート機能、セキュリティ機能と、Jetson に接続された内部/外部メディアからシステムを書き換え可能な新しいフラッシュツールに対応します。
主な機能:
<OS>
- Jetson AGX Xavier Industrial モジュールをサポート
- Jetson Xavier NX モジュールに新しく「20Wモード」(※1)が追加された。これはハードウェアビデオエンコード、デコード、JPEG処理(NVENC/NVDEC/NVJPEG)のパフォーマンスを向上し、またメモリ帯域もより広くする。パフォーマンスの比較表はこちら。従来の10W/15Wモードについては同じ設定値・パフォーマンスで引き続き利用可能。カスタムで作成したモード(nvpmodel)があれば、JetPack 4.6 向けに再作成する必要がある。
- Over-The-Air (OTA) アップデートに対応。TX2 / Xavier NX / AGX Xavierシリーズ のみサポート。OTAはファームウェアアップデートの仕組みのようなもの。
- A/B Root ファイルシステムによるシステムに冗長性(バックアップ)を持たせる機能をサポート。今までは起動画面にdisableと出ていたもの。Aで問題が発生してもBで復旧できる。OTAと組み合わせて使いそう。TX2 / Xavier NX/ AGX Xavierシリーズ のみサポート。
- TX2でセキュアブートが強化され、kernel, kernel-dtb, initrdの暗号化をサポート
- 外部メディアのディスク暗号化によるデータ保護のサポート。TX2 / Xavier NX/ AGX Xavierシリーズ のみサポート。
- Xavier NX / AGX Xavierシリーズ向けCBootにNVMeドライバが追加された。これは起動時のkernel, kernel-dtb, initrd の読み込みをNVMeからおこなうことを可能にする。つまりNVMeからOSを起動できるということか。
- カメラヘッダーインタフェース向けの調整のために、Jetson-IOツールが強化された。デバイスツリーオーバーレイによるカメラデバイスの動的なデバイスツリーへの追加が可能になった。
- Raspberry Pi IMX219モジュールや、高精度なRaspberry Pi IMX477モジュール向けにMIPI CSI-2 ピン配列の再構築をおこなうことが、Jetson IOツールを使うことで可能になった。これは Nano / Nano 2GB(※2) / Xavier NX 開発者キットで利用可能。従来はRaspberry Pi向けIMX219カメラモジュールはJetsonでは使えなかったが、JetPack 4.6 の Jetson-IOでCSIピンの挙動を変更すれば使えるということだろうか?
- 後からSDK等の個別のパッケージをインストール可能な、Debian APTサーバー用のダイレクトダウンロードリンクを追加。
※1: 20Wモードの導入で、Jetson Xavier NXについてDRAM速度とハードウェアエンコード/デコード速度のデータシート上の仕様が変更になります。対比はフォーラムの以下のエントリーに記載されています。公式のデータシートの更新はまだです。ハードウェア変更なく、現行モデルのファームウェア変更だけでスペックアップできるなんてすごいですね!
※2: ドキュメントを見ると、Xavier NX / Nano 4GB のみに有効とある。設定内容もデュアル動作を前提としたピン配列に再構成されそうな様子。2GBモデルだとそもそもキャリアボードに1系統しかMIPI CSI-2インタフェースを搭載していないが、それでも同じように設定しさえすれば、1台のラズパイカメラでちゃんと動くのだろうか?
<SDK>
- TensorRT 8.0.1 をサポート。詳細は割愛。
- cuDNN 8.2.1 をサポート。同上。
- CUDA 10.2 をサポート。同上。
<Multimedia API(動画関係)>
- H.264ハードウェアエンコードで、Scalable Video Coding (SVC) がサポートされた。
- ビデオエンコード、デコードで、カラースペース YUV444 8bit / 10bit 画像がサポートされた。
<Computer Vision(画像処理関係)>
- Vision Programing Interface (VPI) 1.1 をサポートした。YUV422 packed カラースペースをVICでサポート。OpenCVとのインテグレーションも容易に。追加された画像処理アルゴリズムは以下のとおり。
- オプティカルフロー(CPU/GPUサポート)
- ラプラシアンピラミッド
- イメージヒストグラム
- ヒストグラム均等化
- 背景差分
- OpenCV 4.1.1 をサポート。んー、今やだいぶ古い感が(´・ω・`)
- Visionworks 1.6 をサポート。
<開発者ツール/SDK>
- NVIDIA DeepStream SDK 6.0(次のメジャーリリース)は JetPack 4.6 をサポートする予定。AIベースの動画像解析ツール。
- NVIDIA Triton Inference Server Release 21.07 をサポート。これもAI系のツール。
- Jetsonのパワーモード(10Wモードとかのやつ)を作成するときに、電力消費の見積もりなどに役立つ「PowerEstimator v1.1」ウェブアプリをサポート。
さらに細かい内容は、リリースノートをご確認ください。
その他、ドライバレベルの細かな変更や既知の不具合はこちら。
https://docs.nvidia.com/jetson/Jetson_Linux_Release_Notes.pdf
かなり興味深い内容も含まれていますね。
Jetson Nano (2GB) を持っている方だと、いくつかは無関係な(というかNanoがサポートされていない)変更もありますが、IMX219なラズパイカメラが使えないとあきらめていた方はちょっと試してみては?私はJetson向けIMX219しか持ってないので試せませんが。
Jetsonが気になるという方は、手ごろな2GB版からはじめてみては?
キャンペーンがまだ続いているかは不明。Amazonで買うよりも、RYOYOか秋月で買った方が安いです。RYOYOはネット通販/クレカ決済で送料無料。
なお、経験的に補足している部分も多く、細かいところでもしかしたら間違っているかもしれないので、原文を読むことをおすすめします。
おわり。