Architecture

The following diagram shows the NVIDIA® Jetson™ Board Support Package (BSP) architecture.
A screenshot of a computer program Description automatically generated with medium confidence
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.
Flashing Support Scripts and Tools: A set of scripts and associated tools to assist in flashing your system.
Sample Source Code and Applications: Sample source code for developing embedded applications for the Jetson platform.

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.
OpenCV documentation may be found on the OpenCV documentation web site. General information is on the opencv.org primary web site.
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.
Toolkit for Jetson Developer Kit running Jetson BSP: CUDA toolkit for use with the Jetson Developer Kit.

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:
Libargus for imaging applications
Buffer utility for buffer allocation, management, and sharing
NVOSD for On-Screen display
V4L2 API extensions with a video converter, decoder, and encoder.
Application framework (optional)
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.