Architecture
The following diagram shows the NVIDIA® Jetson™ Board Support Package (BSP) architecture.
The following sections describe the components of each module. Many of the components’ names are links to the component’s primary documentation, either in this Developer Guide or elsewhere. Some components have separate links with additional description.
Jetson Board Support Package
• Linux Kernel: A UNIX-like computer operating system kernel mostly used for mobile devices.
• Sample Root Filesystem derived from Ubuntu: A sample root filesystem of the Ubuntu distribution. Helps you create root filesystems for different configurations.
• Toolchain: A set of development tools chained together by stages that runs on various architectures.
• Bootloader: Boot software boot for initializing the system on the chip.
• Sources: Source code for kernel and multimedia applications.
• NVIDIA® Jetson™ User Space Drivers: Provides the NVIDIA drivers that run in the userspace.
Artificial Intelligence
• NVIDIA® TensorRT™: Provides a high-performance neural network inference engine for production deployment of deep learning applications. It can be used to optimize, validate, and deploy trained neural networks for inference to the Jetson platform. The Multimedia API provides samples that use this engine.
NVIDIA® SDK Manager installs this component as part of the Low-Level Multimedia API.
• cuDNN: NVIDIA
® CUDA
® Deep Neural Network library.
Computer Vision
• VisionWorks: NVIDIA
® VisionWorks™ software development package for computer vision (CV) and image processing.
• OpenCV: Provides OpenCV that NVIDIA optimized specifically for the Jetson platform. It contains Jetson-specific optimizations that enable it to run faster than the OpenCV implementation.
• Vision Programming Interface (VPI): A software library that implements computer vision and image processing algorithms, using a Jetson device’s GPU and image processing hardware for acceleration.
Camera
• libArgus: A low-level API based on the camera core stack.
SDK Manager installs this component as part of the Multimedia API which provides a collection of APIs that supports flexible application development with better control over the underlying hardware blocks.
Display
• NVDC-DRM: NVIDIA userspace and driver for display.
• X Driver: NVIDIA accelerated X driver.
• Weston: NVIDIA accelerated Weston (compositor based on Wayland protocol).
CUDA Toolkit
• Toolkit for Ubuntu host with cross deployment support: CUDA toolkit for the host.
Graphics
• OpenGL: Open Graphics Library API for rendering vector graphics.
• OpenGL ES: Cross-platform API for full-function 2D and 3D graphics on embedded systems
• EGL: Interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system.
• Vulkan: A low level API that gives direct access of the GPU to developers.
Multimedia
• Multimedia API (MMAPI): A collection of lower-level APIs that support flexible application development. Multimedia API includes:
• NVOSD for On-Screen display
MMAPI also includes samples that demonstrate image processing with CUDA, and object detection and classification with cuDNN, TensorRT and OpenCV4Tegra usage
MMAPI is for developers who use a custom framework or wish to avoid a framework like GStreamer.
MMAPI must be separately downloaded from the NVIDIA Jetson Download Center. It is not included in the download for the Jetson Driver.
• GStreamer: Provides a higher-level multimedia API. This framework provides a parallel capability to the collection of APIs in the lower-level Multimedia API.
The GStreamer framework is installed with the download for the Jetson Driver. It is also installed by SDK Manager.
This framework is an alternative to Multimedia API.
Developer Tools
• Nsight Systems: Profiles application execution across multiple CPU cores. Helps you improve application performance by identifying slow parts of code.
Runs on the Linux host computer. Supports all Jetson products.
• NVIDIA® Nsight™ Compute: Interactively profiles kernel operations for CUDA applications. Provides detailed performance metrics and API debugging via a user interface and command line tool.
• Nsight Graphics: Debugs and profiles OpenGL and OpenGL ES graphics programs through a console interface.
Runs on the Linux host computer. Supports all Jetson products.
JetPack SDK
• Documentation: Provides details for your development on the Jetson platform.
• Samples: Designed to give you hands-on, practical examples for using the Jetson development platform.