Jetson Orin Nano 开发手册——Jetson软件架构

Jetson软件架构 

下图显示了NVIDIA®Jetson™Linux架构。

以下部分描述了每个模块的组件。在本开发人员指南或其他地方,许多组件的名称是指向组件主留档的链接。一些组件具有带有附加描述的单独链接。

文档 

本开发人员指南是JetsonLinux留档的核心组件。它描述了JetsonLinux的体系结构,并提供了有关如何使用其功能的信息。

的 Jetson Linux API 参考 提供有关JetsonLinuxAPI和API扩展的详细留档,可用于帮助您开发应用程序。

许多其他文档提供了与使用JetsonLinux进行应用程序开发有关的其他事项的信息,例如各种Jetson处理模块的数据表和模块开发工具包的用户指南。大多数这些文档和其他文档可以通过以下一个或多个访问:

示例应用程序 

深度学习组件 

Jetson系列产品专为深度学习而设计,深度学习是一种人工智能,它使计算设备能够通过经验“学习”如何最好地处理特定类别的问题。

  • NVIDIA® TensorRT ™ : NVIDIA英伟达TensorRT 为深度学习应用的生产部署提供高性能的神经网络推理引擎,可用于优化、验证和部署经过训练的神经网络,用于对Jetson平台进行推理,Multimedia API提供了使用该引擎的示例。

  • NVIDIA® CuDNN ™ : NVIDIA英伟达cuDNN 为深度神经网络提供GPU加速的原语库。cuDNN为标准例程提供高度调整的实现,例如前向和后向卷积、池化、归一化和激活层。

  • NVIDIA® Triton™ : 英伟达 TritonNVIDIA英伟达 Triton 是一种开源推理服务软件,有助于标准化模型部署和执行,并在生产中提供快速且可扩展的AI。

计算机视觉 

计算机视觉涉及捕获和处理来自传感器(摄像头)的图像和视频流、跟踪特征以及执行各种类型的转换,例如去扭曲和颜色转换。

  • 视觉编程接口 (VPI):一个软件库,可在Jetson模块中存在的多个硬件加速器上实现计算机视觉和图像处理算法。

  • OpenCV : 提供NVIDIA专门为Jetson平台优化的OpenCV版本。它包含特定于Jetson的优化,使其能够比OpenCV实现运行得更快。

    OpenCV文档wed 可以在 OpenCV文档网站 .一般信息在opencv.org主要网站上。

加速计算 

加速计算提供了高度优化的库,应用程序可以使用这些库在GPU上并行执行计算密集型的原语。

  • cuBLAS : CUDA基本线性代数子程序,一个支持GPU加速线性代数运算的软件库。

  • cuFFT : CUDA快速傅里叶变换,一个支持GPU加速快速傅里叶变换的软件库。

图形学 

JetsonLinux为应用程序中的图形提供多种类型的支持。

  • Vulkan ® :一个低级API,为开发者提供直接访问GPU的能力。

  • OpenGL®ES :用于嵌入式系统上全功能2D和3D图形的跨平台API。

  • X_Driver : X驱动程序的GPU加速实现。

  • Wayland: Weston的GPU加速实现,Weston是一个基于Wayland协议的合成器。

  • LibDRM : 一个提供对Linux直接渲染管理器(DRM)访问的库。它包括一个驱动程序和一个用户空间库。Jetson Linux实现使用GPU来加速其操作。参见Jetson Linux API参考中 drm-nvdc-docs. h 的描述。

多媒体 

多媒体组件支持视频流处理和其他类型的多媒体处理。

  • GStreamer : 提供更高级别的多媒体API。此框架提供与多媒体API相同类型的功能,但级别更高。

        GStreamer框架包含在JetsonLinux发行版中。它由SDK管理器安装。

  • V4L2库 : 支持V4L2(Linux视频,版本2)API作为多媒体API的扩展;包括视频转换器、解码器和编码器。

传感器 

传感器组件捕获来自传感器(摄像头)的输入并对其执行处理的初始阶段。它们为实现传感器处理提供高级构建块,并为许多步骤提供GPU加速。

  • Camera(Libargus/V4L2) : 基于相机核心堆栈的低级API。

    SDK Manager将此组件作为多媒体API的一部分安装,该API提供了一组API,支持灵活的应用程序开发,并更好地控制底层硬件块。

  • SPE RTOS : 提供对 传感器处理引擎 (SPE),Jetson模块ARM的组件 ® 皮质 ™ 支持hardware-accelerated 传感器输入处理的R5微控制器。

  • PCI/以太网:

  • SPI/CAN/I 2 S API:

CUDA-X 

NVIDIA®CUDA®是一个并行计算平台,可以轻松地将GPU用于通用计算,对于实现图形应用程序特别有用,它可以与几种编程语言中的任何一种一起使用。

CUDA-X是一个包,包括几个常见的面向图形的任务的基于CUDA和CUDA的实现。

板载支持包 

JetsonLinux 板载支持包 (BSP)包含使用JetsonLinux开发和运行应用程序所需的所有软件。当前的JetsonLinuxBSP可从 JetsonLinux页面 在 NVIDIA开发者网站 . 它包括:

  • 来源:捷信Linux是一个开源产品,源代码包含在捷信Linux发行版中。

  • 示例根文件系统:源自Ubuntu发行版的根文件系统。您可以使用此根文件系统作为开发为您的应用程序量身定制的基础。

  • Jetson Linux  工具链 : 一套用于开发JetsonLinux应用程序的软件组件。

  • Jetson Linux 内核 : NVIDIA为在Jetson设备上使用而优化的UbuntuLinux内核版本。

  • Bootloader :为Jetson设备上的操作系统启动软件。

开发者工具 

NVIDIA提供了一整套开发人员工具,用于编写、构建和调试JetsonLinux应用程序。

  • NVIDIA ® Nsight ™ : 英伟达Nsight 跨多个CPU内核配置应用程序执行情况,并通过识别代码的缓慢部分来帮助您提高应用程序性能。

    在Linux主机上运行。支持所有Jetson产品。

  • Nsight Graphics : 通过控制台界面调试和配置OpenGL和OpenGL ES图形程序。

  • Nsight Systems Compute : 交互式配置CUDA应用程序的内核操作。通过用户交互界面和命令行工具提供详细的性能指标和API调试。

  • 交叉编译器和诊断实用程序:JetsonLinuxBSP包括一个 工具链 用于在Ubuntu主机系统上编译应用程序,以及一套 开发工具 用于调试和优化它们。

  • Flashing 支持 : 用于帮助将软件刷新到Jetson设备的脚本和相关工具。

其他组件 

  • JetsonLinux用户空间驱动程序:在用户空间中运行的NVIDIA驱动程序。

  • 多媒体API(MMAPI):支持灵活应用程序开发的低级API的集合。多媒体API包括:

    MMAPI还包括演示使用CUDA进行图像处理以及使用cuDNN、TensorRT和OpenCV4Tegra进行目标检测和分类的示例。

    MMAPI适用于使用自定义框架或希望避免使用GStreamer等框架的开发人员。

    MMAPI必须从NVIDIA Jetson下载中心单独下载。它不包含在JetsonLinuxBSP中。

CUDA工具包 

  • 具有跨部署支持的Ubuntu主机工具包:主机的CUDA工具包。

  • CUDA工具包 : 用于Jetson开发工具包的CUDA工具包。

图形学 

  • OpenGL : 开放图形库API用于渲染矢量图形。

  • EGL™ : Khronos渲染API之间的接口,例如OpenGL ES或 OpenVG 以及底层原生平台窗口系统。

JetPack SDK 

  • NVIDIA JetPack™ SDK 文档 : 提供您在Jetson平台上的开发详细信息。

  • 示例:旨在为您提供使用Jetson开发平台的实践示例。

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值