摩尔线程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
相关推荐
circuitsosk32 分钟前
NL2SQL在工业级场景下的精度优化:Schema Linking + 动态Few-shot实战
人工智能·python·sql·大模型·nl2sql
9000AI35 分钟前
9000AI如何工业化生产流量?高质量规模生产与矩阵化饱和覆盖
人工智能
字节数据平台2 小时前
iDA:从 ChatBI 到专业数据分析助手的演进之路
大数据·人工智能·机器学习·数据分析
warpdrivelabs2 小时前
Codex 开源 harness 全面了解
开发语言·人工智能
mit6.8242 小时前
微软如何交付企业级Agent
人工智能
Mininglamp_27182 小时前
明略科技携手海康机器人亮相世界机器人大会,以“Agent+具身“联合进入商业机器人场景
人工智能·科技·机器人·开源·agent·ai agent
2401_894915532 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
MobotStone3 小时前
从“听得懂”到“干得了”:工业大模型落地工厂的三层进化路线
人工智能
wangruofeng4 小时前
GLM-5.3-Flash 发布:追平 Opus 4.8 的智力,1/40 的价格,跑在国产芯片上
人工智能·aigc·chatglm (智谱)
皮皮虾❀6 小时前
钉钉AI服务商×教育行业:AI现代产业学院共建一体化实战——从“高校AI教学缺平台”到“校企共建AI产业学院培养数字化人才
人工智能·钉钉