摩尔线程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
相关推荐
冬奇Lab1 天前
每日一个开源项目(第140篇):AgentScope 2.0 - 阿里开源的生产级 Agent 框架
人工智能·开源·agent
冬奇Lab1 天前
Skill 系列(04):Skill 指标体系——L1/L2/L3 三层监控,让质量下降有据可查
人工智能·开源·llm
IT_陈寒1 天前
Vite的静态资源打包让我熬夜到三点,这坑千万别跳
前端·人工智能·后端
玩转AI不是事1 天前
用IndexedDB做AI对话离线缓存实战
人工智能
Asize1 天前
多模态生图:从 Vite 工程化到前端调用 Qwen Image
javascript·人工智能·后端
MobotStone1 天前
AI项目越多,为什么越容易失控
人工智能·aigc
十有八七1 天前
AI时代的置身X内
前端·人工智能
Lkstar1 天前
A2A协议深度解析|Agent2Agent通信标准,智能体互联网的"HTTP"
人工智能·llm
百度Geek说1 天前
当代码越来越便宜,什么在变贵?
人工智能
橘子星1 天前
LLM 无状态架构实践:从原理到代码落地
前端·javascript·人工智能