摩尔线程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
相关推荐
七牛开发者7 小时前
从 GLM 到 GPT,HarnessPro 如何用 RSI 降低 Agent 成本
人工智能·gpt·agent·harness·rsi
跨境卫士-小汪7 小时前
TikTokShop欧洲商品接口架构调整跨境技术团队需要做好哪些准备
大数据·人工智能·新媒体运营·跨境电商·跨境·营销策略
康小汪8 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
收放扳机8 小时前
多机连线(In-Line)场景下,收放板机“缓存工位”的容量与架构选型参考
人工智能·科技·自动化·制造·pcb工艺
武天旭9 小时前
AI安全--AI大模型的后门攻击检测与防御
人工智能·深度学习·安全·机器学习
智能运维指南9 小时前
研制过程“两张皮“怎么破:研制一体化支撑平台的定位、能力边界与落地前提
java·前端·人工智能·嘉为蓝鲸
人工智能AI技术9 小时前
DeepInfer开源炸场!别再妄想个人电脑跑满血DeepSeek
人工智能
深蓝电商API9 小时前
用AI生成拟人行为:让鼠标轨迹更“有人味”
人工智能·爬虫
znnnk9 小时前
数据库被AI“重写”:2026,从CPU中心走向GPU中心
数据库·人工智能·oracle
深蓝AI9 小时前
网站正在对 AI Agent 集体关门:亚马逊封锁 Muse、银行拒绝登录,开发者怎么活下去
人工智能