摩尔线程AB100安装torch环境

复制代码
(base) q@q-AIBOOK:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.5 LTS
Release:	22.04
Codename:	jammy
(base) q@q-AIBOOK:~$ uname -m
aarch64
(base) q@q-AIBOOK:~$ mthreads-smi --version
mthreads-smi version is 1.0.1

gpu是AB100

安装torch环境,参考下面这个文章

在 M1000 进行 DeepSeek R1 蒸馏系列模型部署 | 摩尔线程博客中心

都安装上这个whl包,torch、torch_musa、torchaudio、torchvision,如果pip安装,和摩尔本身的硬件不匹配。

这样后续才能安装上Ultralytics

还有一个torchada,https://github.com/MooreThreads/torchada/blob/main/README_CN.md

要安装pip install torchada==0.1.48,这样能和上面的版本匹配上

这个版本组合应该可以gpu加速pt模型,但是gpu加速不了onnx模型。


关于推流

摩尔有个自定义编译的FFmpeg,它支持的是硬件编码器(h264_mtenc)而不是软件编码器libx264,这个自定义编译的FFmpeg不支持-preset和-tune参数

复制代码
测试一
(weuav-musa) q@q-AIBOOK:/usr/local/mt_vaapi$ /usr/local/mt_vaapi/bin/ffmpeg -f lavfi -i testsrc=duration=5:size=1920x1080:rate=25 -c:v h264_mtenc -b:v 2000k -g 25 -f flv rtmp://172.16.10.7:1935/live/8UUXP1400A0YX2-99-0-0-ai-test
ffmpeg version git-2024-10-14-7c2b5677b1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --enable-libdav1d --enable-cross-compile --cross-prefix=aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a -I/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/include' --extra-ldflags='-ldrm -lX11 -lxcb -lXau -lXdmcp -lXfixes -lXext -lX11-xcb -lxcb-dri3 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/libdrm/arm64 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/lib' --pkg-config=pkg-config --enable-shared --disable-static --pkg-config-flags='--define-variable=prefix=/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/arm64/2.20' --prefix=/usr/local/mt_vaapi/
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  1.101 / 59.  1.101
  libavformat    59.  3.100 / 59.  3.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.102 /  8.  0.102
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
Input #0, lavfi, from 'testsrc=duration=5:size=1920x1080:rate=25':
  Duration: N/A, start: 0.000000, bitrate: N/A
  Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_mtenc))
Press [q] to stop, [?] for help
[h264_mtenc @ 0xaaaacc8c3f50] avctx->pix_fmt=26(rgba), rc:-1, ctx=0x0xaaaacc8c42f0, ctx->rc=0x0xaaaacc8e0898
[h264_mtenc @ 0xaaaacc8c3f50] ctx->data_pix_fmt: 26
[h264_mtenc @ 0xaaaacc8c3f50] alloc frame
[h264_mtenc @ 0xaaaacc8c3f50] mtenc_load_libraries
[h264_mtenc @ 0xaaaacc8c3f50] mtenc_setup_device
[h264_mtenc @ 0xaaaacc8c3f50] avctx->pix_fmt=26(rgba), avctx->hw_frames_ctx = 0x(nil), avctx->hw_device_ctx = 0x(nil).
[h264_mtenc @ 0xaaaacc8c3f50] mtenc_setup_encoder
[h264_mtenc @ 0xaaaacc8c3f50] nb_surfaces:2, async_depth:1
trace path : /sys/kernel/debug/tracing/trace_marker_raw
Connecting to pvr device ID: 0 (128)
[h264_mtenc @ 0xaaaacc8c3f50] mtenc_setup_surfaces
[h264_mtenc @ 0xaaaacc8c3f50] mtenc_setup_extradataencode gop:25, bf:1, qp-bpi:26-26-26
Output #0, flv, to 'rtmp://172.16.10.7:1935/live/8UUXP1400A0YX2-99-0-0-ai-test':
  Metadata:
    encoder         : Lavf59.3.100
  Stream #0:0: Video: h264 (Main) ([7][0][0][0] / 0x0007), rgba(pc, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 2000 kb/s, 25 fps, 1k tbn
    Metadata:
      encoder         : Lavc59.1.101 h264_mtenc
[flv @ 0xaaaacc8c3640] Failed to update header with correct duration.691.0kbits/s speed=3.01x    
[flv @ 0xaaaacc8c3640] Failed to update header with correct filesize.
frame=  125 fps= 76 q=-0.0 Lsize=     413kB time=00:00:04.96 bitrate= 682.3kbits/s speed=3.02x    
video:410kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.667127%
[h264_mtenc @ 0xaaaacc8c3f50] ff_mtenc_encode_close
Disconnect from services:
 OK


测试2
(weuav-musa) q@q-AIBOOK:/usr/local/mt_vaapi$ /usr/local/mt_vaapi/bin/ffmpeg -encoders | grep -i "h264\|264"
ffmpeg version git-2024-10-14-7c2b5677b1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --enable-libdav1d --enable-cross-compile --cross-prefix=aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a -I/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/include' --extra-ldflags='-ldrm -lX11 -lxcb -lXau -lXdmcp -lXfixes -lXext -lX11-xcb -lxcb-dri3 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/libdrm/arm64 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/lib' --pkg-config=pkg-config --enable-shared --disable-static --pkg-config-flags='--define-variable=prefix=/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/arm64/2.20' --prefix=/usr/local/mt_vaapi/
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  1.101 / 59.  1.101
  libavformat    59.  3.100 / 59.  3.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.102 /  8.  0.102
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
 V....D h264_mtenc           MOORE THREADS MTENC H.264 encoder (codec h264)
 V..... h264_v4l2m2m         V4L2 mem2mem H.264 encoder wrapper (codec h264)
 V....D h264_vaapi           H.264/AVC (VAAPI) (codec h264)

测试3
(weuav-musa) q@q-AIBOOK:/usr/local/mt_vaapi$ /usr/local/mt_vaapi/bin/ffmpeg -hwaccels
ffmpeg version git-2024-10-14-7c2b5677b1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --enable-libdav1d --enable-cross-compile --cross-prefix=aarch64-linux-gnu- --target-os=linux --arch=aarch64 --enable-armv8 --extra-cflags='-march=armv8-a -I/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/include' --extra-ldflags='-ldrm -lX11 -lxcb -lXau -lXdmcp -lXfixes -lXext -lX11-xcb -lxcb-dri3 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/libdrm/arm64 -L/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/../gr_umd_dist/arm64-mtgpu_linux-xorg-release/usr/local/lib' --pkg-config=pkg-config --enable-shared --disable-static --pkg-config-flags='--define-variable=prefix=/home/jenkins/workspace/ddk_video_build/image-gr-umd/mt-media-driver/mt_video_release/arm64/2.20' --prefix=/usr/local/mt_vaapi/
  libavutil      57.  0.100 / 57.  0.100
  libavcodec     59.  1.101 / 59.  1.101
  libavformat    59.  3.100 / 59.  3.100
  libavdevice    59.  0.100 / 59.  0.100
  libavfilter     8.  0.102 /  8.  0.102
  libswscale      6.  0.100 /  6.  0.100
  libswresample   4.  0.100 /  4.  0.100
Hardware acceleration methods:
vaapi
相关推荐
珠海西格电力3 小时前
AI预测与优化:基于机器学习的负荷预测与调度策略
大数据·人工智能·机器学习·信息可视化·架构·能源
沉下心来学鲁班3 小时前
DeepAgents 记忆机制:让 AI Agent 拥有“跨对话“的记忆
服务器·人工智能·python
龙腾AI白云3 小时前
数字孪生驱动大模型工业知识库:为具身机器人植入领域专业经验
数据库·人工智能·机器学习·知识图谱
大飞记Python3 小时前
MiMo-V2.6-Distill-Qwen-9B 本地部署实测:8GB内存可跑,但推理能力让人失望
人工智能·ai·ai编程
天天代码码天天3 小时前
开源 GPU OCR:不依赖 CUDA,C# 和 Web 都能用的 lw.PPOCR.Vulkan
人工智能
在所不辞兄3 小时前
分层PINN提升多物理场一致性
人工智能·神经网络·算法·机器学习·工程仿真
林伽一3 小时前
从2048并发会话到501B开源模型,算力账本开始按“单位卡产出“计价|2026年10月07日
人工智能·安全·ai·开源
桃西西呀3 小时前
Spring AI Alibaba 之一:整体概览与分层架构,看清它在 Spring AI 之上到底加了什么
人工智能·spring·llm
winfredzhang3 小时前
用 Chrome 插件 + 局域网 Qwen2.5-VL 打造视频截屏 OCR 工具
人工智能·chrome·ocr·api·plugin
做cv的小昊3 小时前
【大模型算法自学笔记01】NLP基础知识(1.1 自注意力)
人工智能·笔记·算法·自然语言处理·大模型·llm