当前位置: 首页 > news >正文

NVIDIA Jetson 开发板使用

1、nvidia jetson 是什么

Jetson 是NVIDIA嵌入式系列开发板,见上图

技术规格:

2、硬件架构

架构图

ARM CPU

Arm Cortex-A78AE

12 CPU cores

64KB Instruction L1 Cache 

64KB Data Cache

256 KB L2 Cache

 最大主频 2.2 GHz

 Ampere 架构 GPU 

        2 Graphic Processing Clusters (GPCs)

        8 Texture Processing Clusters (TPCs),

        16 Streaming Multiprocessors (SM’s)

        192 KB of L1-cache per SM

        4 MB of L2 Cache

        128 CUDA cores per SM 

3、benchmark

4、查看自己设备的型号

root@ubuntu:~# jtop

显示如下:

监控GPU状态

root@ubuntu:~# tegrastatsRAM 3216/16384MB (lfb 1234x4MB) SWAP 0/0MB  
GPU 25%@1122 EMC 12%@1600 APE 150 MTS fg 0%  
GR3D 22% CV 0% NVENC 0% NVDEC 0%  

其中 GR3D 代表GPU利用率;

5、使用

安装jetson-container

git clone https://github.com/dusty-nv/jetson-containers
bash jetson-containers/install.sh

如果要编译镜像,需要修改/etc/docker/daemon.json,添加 "default-runtime": "nvidia"

添加后重启docker并检查

$ sudo systemctl restart docker
$ sudo docker info | grep 'Default Runtime'
Default Runtime: nvidia

修改文件 ".env" (环境变量INDEX_HOST必须设置,否则编译镜像报错

激活环境变量:

# activate it
source .env

5.1 benchmark

将jetson设置为高功率模式:

# check the current power mode
$ sudo nvpmodel -q
NV Power Mode: MODE_30W
2# set it to mode 0 (typically the highest)
$ sudo nvpmodel -m 0# reboot if necessary, and confirm the changes
$ sudo nvpmodel -q
NV Power Mode: MAXN
0
bash jetson-containers/packages/llm/mlc/benchmarks.sh

结果:

model        prefill_ratedecode_rate
Llama-2-7b536.7036.29
Qwen2.5-0.5B2269.5581.71
Qwen2.5-1.5B413.9845.27
Qwen2.5-7B506.35 32.82

实测在高功率(60W)的条件下,Llama-2-7B的decode_rate的最大约36与上图官方给的47有一点差距;

5.2 llamaspeech

llamaspeech 是级联的结构 ASR+LLM+TTS,启动下面的服务之前,需要先启动ASR(riva)服务(否则ASR无法使用);

下载 riva_quickstart_arm64_2.19.0

下载后解压riva_quickstart_arm64_2.19.0.zip

启动 riva服务(需要NGC key)

bash riva_init.sh
bash riva_start.sh

启动llamaspeaker

jetson-containers run $(autotag nano_llm) \python3 -m nano_llm.agents.web_chat --api=mlc \--model /models/Meta-Llama-3-8B-Instruct \--asr=riva --tts=piper

如果无法从huggingface下载llama模型,可以从ModelScope 魔搭社区下载llama模型;

服务启动后,打开浏览器 https://IP_ADDRESS:8050

6、docker镜像编译说明

jetson-containers run $(autotag vllm)

举例,如上图编译vllm如何有合适的镜像直接拉取,如果没有则需要编译镜像;

编译镜像过程

查找package目录下packages/llm/vllm/Dockerfile

解析文件头,获取镜像依赖模块;

每个模块都要单独编译为一个镜像;

每个模块使用前一个依赖的模块镜像为基础镜像进行编译;

初始的基础镜像是:ubuntu:22.04

 编译镜像很不完善,可能会遇到很多问题:

1、https://forums.developer.nvidia.com/t/pypi-jetson-ai-lab-dev-is-down/338695/6
2、https://forums.developer.nvidia.com/t/failed-building-nccl/342580/5

3、编译中断,需要删除之前已经编译好的镜像,重新开始编译;(可自行修改代码,文件jetson_containers/container.py:build_container(),从中断的镜像开始继续编译,节约时间)

7、参考:

1、nvidia 开发板 jetson 主页:Home - NVIDIA Jetson AI Lab

2、github:https://github.com/dusty-nv/jetson-containers/

另,新一代 balckwell架构的jetson AGX Thor已经发布,性能是orin的7.5倍;;

(完)

http://www.xdnf.cn/news/1453321.html

相关文章:

  • IBM穿孔卡片:现代计算技术的奠基之作
  • 第11章 分布式构建
  • 20.36 QLoRA微调实测:59%显存暴降+3倍提速,95%性能保留惊呆业界!
  • 从“下山”到AI引擎:全面理解梯度下降(上)
  • Mac开发第一步 - 安装Xcode
  • 趣味学RUST基础篇(测试)
  • Qt Creator 打包应用程序时经常会遇到各种问题
  • 【leetcode】64. 最小路径和
  • C++11 类功能与包装器
  • 基于Taro4打造的一款最新版微信小程序、H5的多端开发简单模板
  • 盲盒抽卡机小程序系统开发:以技术创新驱动娱乐体验升级
  • 算法训练营DAY58 第十一章:图论part08
  • elasticsearch-7.17.29 集群案例
  • helm 的常用命令
  • Spring Cloud Eureka 核心原理
  • React 中的 HOC 和 Hooks
  • Java Web 是技术与产业的 “交叉赋能点”
  • 原生住宅IP有多顶?跨境圈都在用
  • MaxKB4j智能体平台 Docker Compose 快速部署教程
  • webrtc之语音活动上——VAD能量检测原理以及源码详解
  • 桌面应用开发语言与框架选择指南
  • android seekbar显示刻度
  • Python_occ 学习记录 | 细观建模(2)
  • 【C语言】第二课 位运算
  • QT6 配置 Copilot插件
  • Pycharm 试用
  • Spring简单的读取和存储对象
  • 君正T31学习(7)- 启动流程
  • 当有鹿机器人读懂城市呼吸的韵律——具身智能如何重构户外清洁生态
  • 2025变现打法:AI+IP实现高效变现|创客匠人