1. What is this?

NVIDIA Jetson 是 NVIDIA 为新一代自主机器设计的的嵌入式系统,是一个 AI 平台。
Investigate NVIDIA Jetson SOM - 图1

1.1 简介

NVIDIA Jetson 系统所提供的性能和能效可提高自主机器软件的运行速度。
每个系统都是一个完备的模块化系统 (SOM),具备 CPU、GPU、PMIC、DRAM 和闪存。
Jetson 具备可扩展性,选择应用场合的 SOM,即能够以此为基础构建自定义系统,满足应用需求。
Jetson 模块可以支持需要各种性能级别和价格的大量应用场合,例如 AI 网络视频录像机 (NVR)、高精度制造领域中的自动光学检查 (AOI) 以及自主移动机器人 (AMR)。

1.2 产品组合

image.png

  • Jetson Nano:低成本的 AI 计算机,具备的性能和能效可以运行现代 AI 工作负载,并行运行多个神经网络,以及同时处理来自多个高清传感器的数据。
  • Jetson TX2:适用于边缘设备 AI 应用的 Jetson TX2 嵌入式模块现在有三个版本:Jetson TX2 (8GB)、Jetson TX2i 和 Jetson TX2 4GB。
  • Jetson AGX Xavier:该计算机具有六个计算机主板,用于处理传感器数据和运行自主机器软件,并可以提供完全自主机器所需的性能和能效。
  • Jetson Xavier NX:外形小巧的模块,可为边缘提供性能高达 21 TOPs 的加速 AI 计算。它能并行运行多个现代神经网络,处理来自多个高分辨率传感器的数据,进而满足完整 AI 系统的需求。Jetson Xavier NX 是一款生产就绪产品,支持所有热门 AI 框架。
  • Jetson TX1:针对机器学习和边缘设备 AI 而设计的第一代 Jetson 模块,目前用于许多车载系统中。但是,新设计利用了 Jetson TX2 4GB 的优势,是一个兼容 PIN 和成本的模块,而且性能提高了 2 倍。
  • Jetson TK1:首款针对嵌入式系统的移动超级计算机。该平台围绕 NVIDIA Tegra K1 SOC 打造,采用 NVIDIA Kepler GPU。可提供一个全功能 NVIDIA CUDA 平台,让开发者能够快速开发和部署用于计算机视觉、机器人以及医学等领域的计算密集型系统。

2. JetPack SDK

2.1 Introduction to JetPack

NVIDIA JetPack SDK is the most comprehensive solution for building AI applications. It includes the latest OS images for Jetson products, along with libraries and APIs, samples, developer tools, and documentation.

JetPack components include the following:

  • OS Image
    • JetPack includes a reference file system derived from Ubuntu , as well as Linux kernel, bootloader, NVIDIA drivers, and more. See the latest Jetson Linux Developer Guide for full details.
  • Libraries
    • TensorRT and cuDNN for high-performance deep learning applications.
    • CUDA for GPU accelerated applications across multiple domains.
    • NVIDIA Container Runtime for containerized GPU accelerated applications.
    • Multimedia API.
    • VisionWorks , OpenCV , and VPI for visual computing applications.
  • Samples
  • documentation
  • developer tools
    • Tools for application development and debugging:
      • NVIDIA Nsight Eclipse Edition for development of GPU accelerated applications;
      • CUDA-GDB for application debugging;
      • CUDA-MEMCHECK for debugging application memory errors;
    • Tools for application profiling and optimization:
      • NVIDIA Nsight Systems for application profiling across GPU and CPU.
      • nvprof for application profiling across GPU and CPU.
      • NVIDIA Nsight Graphics for graphics application debugging and profiling.
      • NVIDIA Nsight Compute for interactive CUDA kernel profiling.
      • NVIDIA Nsight Compute CLI for CUDA kernel profiling.

Before using developer kit, you must install JetPack. A Linux host computer is required.

2.2 How to Install JetPack

Depending on your Jetson device, there are one or two ways to install JetPack.

  • SD Card Image
    • For NVIDIA Jetson Nano and Jetson Xavier NX developer kit users, the simplest JetPack installation method is to follow the steps at the respective Getting Started web page to download and write an image to your microSD card, then use it to boot the developer kit.
  • NVIDIA SDK Manager
    • NVIDIA SDK Manager supports JetPack installation on these Jetson products: Jetson AGX Xavier series , Jetson Xavier NX and so on.
    • A Linux host computer running Ubuntu Linux x64 version 18.04 or 16.04 is required to run SDK Manager. Detailed instructions can be found here: https://docs.nvidia.com/sdk-manager/index.html

For example, using the Jetson AGX Xavier module as a developer kit, follow these steps to install JetPack SDK (JetSon AGX XAVIER Developser Kit User Guide):

  • Download and install NVIDIA SDK Manager on the Linux host computer.
    • Ubuntu Linux x64 Version 18.04 or 16.04
  • Connect Developer Kit to the Linux Host Computer.
    • SDK Manager will provide your developer kit with an Internet connection via the USB connection.
  • Put Developer Kit into Force Recovery Mode.
    • The developer kit must be in Force Recovery Mode (RCM) to enable the installer to transfer system software to the Jetson module.
  • Run SDK Manager.
    • NVIDIA SDK Manager enables installation of software to the Jetson module and/or your Linux host computer.

2.3 How to work on Nvidia Jetson

Hello AI World is a great way to start using Jetson and experiencing the power of AI. In the project, you can have a set of deep learning inference demos up and running for realtime image classification and object detection on your Jetson Developer Kit with JetPack SDK and NVIDIA TensorRT. The tutorial focuses on networks related to computer vision, and includes the use of live cameras.

This inferencing library ( libjetson-inference ) is a library of TensorRT-accelerated deep learning networks for image recognition, object detection with localization, and semantic segmentation, which will be run on the Jetson, and includes support for both C++ and Python.

You can code your application in either C++ or Python , and have two ways to run the project on your Jetson.

  • Running the Docker Container
    • build the project’s Dockfile, and run it inside the Docker container on Jetson.
  • Building the Project from Source
    • install the project directly on your Jetson (out of container), and it need to build the project from source.