参考文章
https://www.cnblogs.com/xiaoandi/p/18321501
由于该文章目标机器是x86架构,针对树莓派本人进行了内容修改。如有问题,请麻烦在评论区指出
安装环境及下载位置
上位机: amd64(x86_64)架构
上位机操作系统版本:LinuxMint 22.1(Xia)
上位机操作系统对应Ubuntu版本:Ubuntu 20.04 LTS
板子:树莓派4B(如果没有TF卡请自配)(处理器是BCM2711,aarch64(arm64)架构)
烧写操作系统: ImmortalWrt 24.10.3
操作系统镜像及工具链、软件开发工具包的下载位置:https://downloads.immortalwrt.org/releases/24.10.3/targets/bcm27xx/bcm2711/
操作流程
烧写系统
安装Balena Etcher 镜像烧录程序
参考 https://github.com/balena-io/etcher#debian-and-ubuntu-based-package-repository-gnulinux-x86x64
从 https://github.com/balena-io/etcher/releases/tag/v2.1.4 下载Balena Etcher的deb包
执行
sudo apt install ./balena-etcher_2.1.4_amd64.deb
在操作系统菜单搜索balenaEtcher打开烧录镜像程序
当然也可以使用其它镜像烧录程序
烧录镜像
先从操作系统镜像下载位置下载 rpi-4-ext4-factory.img.gz
下载位置:https://downloads.immortalwrt.org/releases/24.10.3/targets/bcm27xx/bcm2711/
取出树莓派4B上的TF卡
插入读卡器,将读卡器插入上位机通用串行总线口
在烧录镜像程序上选择 Flash from File 打开刚下载好的镜像文件
Select Target选择类似于/dev/sdb的设备
进行烧录
扩展分区
考虑到烧写之后分区并没有扩展到最大,(我的TF卡是128G的,但是烧写系统之后主分区大小只有几百MB)。为了存储模型,需要扩展TF卡的分区大小。
经过试验,gparted和parted均无法完成扩展分区的要求。因此使用fdisk进行扩展分区
fdisk扩展分区
确认分区是/dev/sdb2
卸载分区
sudo umount /dev/sdb2
使用fdisk重新创建分区
sudo fdisk /dev/sdb
-
输入
p,打印当前分区信息,记录分区2的起始点 -
输入
d,然后输入2,删除分区2。(这个操作仅删除分区表记录,不会立即删除数据) -
输入
n,重新新建分区 -
输入
p,选择主分区 -
输入
2,表示第二个分区 -
输入前面记录的起始点位置
-
对于输入结束点位置,可以写
187432959或者如果不想留出交换分区的话可以直接回车(使用建议值,对照你的TF卡大小) -
如果有遇到
分区 #2 包含一个 ext4 签名。您想移除该签名吗? 是[Y]/否[N]:请选择N
-
输入
p,验证分区大小是否扩展
如果需要新建交换分区的话
-
输入
n新建交换分区 -
输入
p,选择主分区 -
输入
3,表示第三个分区 -
输入
187432960作为起始点 -
对于输入结束点位置,可以直接回车
-
如果有遇到
Partition #3 contains a swap signature. Do you want to remove the signature? [Y]es/[N]o:请选择N
-
输入
w,确认进行修改
通知操作系统分区表已经修改。
sudo partprobe /dev/sdb
扩展文件系统
检查文件系统的完整性
sudo e2fsck -f /dev/sdb2
如果有遇到
Inode 位图末尾的填充值未设置。 修复<y>?
选择y或者直接回车
扩展文件系统至分区末尾
sudo resize2fs /dev/sdb2
设置文件系统的卷标为rootfs
sudo e2label /dev/sdb2 rootfs
验证结果
sudo lsblk -f
弹出读卡器,将sd卡插入树莓派并上电,访问 192.168.1.1 到系统->挂载点下,将交换分区勾选已启用,点击右下角的保存并应用。
上板验证
弹出TF卡或者在文件系统中卸载分区
拔出读卡器,取出读卡器上的TF卡(一些读卡器取卡不需要指甲剪钳出来,只需要再次按压即可取出)
将TF卡插入到树莓派后,将树莓派进行上电,观察到红色PWR灯亮即表示供电成功
观察绿色ACT灯,到闪烁停止。
找一根网线,连接树莓派和上位机。
ping 192.168.1.1
ping通即表示成功连接。需要注意的是上位机无线子网的网段是否和有线网段重合。如果重合可以先断无线网再进行ping测试,另外在浏览器访问 192.168.1.1 的ImmortalWrt配置界面修改网段。
进行ssh连接
ssh root@192.168.1.1
不需要输入密码。
如果有遇到
Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes
如果有遇到
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
...
运行
ssh-keygen -f '~/.ssh/known_hosts' -R '192.168.1.1'
清除之前的ssh key
之后再运行
ssh root@192.168.1.1
运行
mount
检查挂载是否均是可读写的(rw),尤其是这一行
/dev/root on / type ext4 (rw,noatime)
确保是rw不是ro。
注意突然断电可能导致分区变成只读,这时只能重新烧录系统就非常麻烦了
因此需要尽可能保证不要突然断电,以及不要热插拔TF卡。
运行
df -h
检查分区大小是否接近预期的TF卡的标定大小
编译cmake
参考 https://www.cnblogs.com/xiaoandi/p/18321501 。 使用工具链进行编译。
下载工具链 并解压
下载软件开发工具包 并解压
下载OpenSSL源码:去 https://github.com/openssl/openssl/releases 下载OpenSSL 3 的源码。
编译openssl
考虑到ImmortalWrt上的openssl没有头文件,可以先编译openssl。
参考前文提到的博客园文章,称之为openssl-dev
先在板子上确定OpenSSL的版本:
opkg list-installed | grep -i 'ssl\|crypto'
输出类似于:
……
kmod-crypto-user - 6.6.104-r1
libopenssl-conf - 3.0.17-r3
libopenssl-legacy - 3.0.17-r3
libopenssl3 - 3.0.17-r3
libustream-openssl20201210 - 2024.07.28~99bd3d2b-r1
wpad-openssl - 2024.09.15~5ace39b0-r2
那就去下载OpenSSL 3.0.17
下载地址:
https://github.com/openssl/openssl/releases
cd ~/immortal_build/openssl-openssl-3.0.17
mkdir build
./config no-asm shared no-async --prefix=./build --cross-compile-prefix=~/immortal_build/immortalwrt-toolchain-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl/bin/aarch64-openwrt-linux-musl- linux-aarch64
注意最后的linux-aarch64目标,一定要写上,否则会默认指定x86_64
如果想要重新生成Makefile,可以在openssl文件下运行
make clean
rm -rf Makefile
生成了Makefile之后,设置环境变量指向sdk中的staging_dir:
export STAGING_DIR=/home/linucong/immortal_build/immortalwrt-sdk-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/staging_dir
执行
make && make install
创建.cmake文件
cd ~/immortal_build/immortalwrt-toolchain-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl
mkdir projects
cd projects
下载CMake源码
git clone https://github.com/Kitware/CMake.git
创建.make文件
cd ~/immortal_build/immortalwrt-toolchain-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl/projects
mkdir build
cd build
touch openwrt_toolchain.cmake
vim openwrt_toolchain.cmake
写入内容:
# openwrt_toolchain
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR openwrt)
set(toolchain /home/linucong/immortal_build/immortalwrt-toolchain-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl)
set(openssl-dev /home/linucong/immortal_build/openssl-openssl-3.0.17/build)
set(ENV{STAGING_DIR} /home/linucong/immortal_build/immortalwrt-sdk-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/staging_dir)
# 指定交叉编译器的路径
set(CMAKE_C_COMPILER ${toolchain}/bin/aarch64-openwrt-linux-musl-gcc)
set(CMAKE_CXX_COMPILER ${toolchain}/bin/aarch64-openwrt-linux-musl-g++)
set(CMAKE_AR ${toolchain}/bin/aarch64-openwrt-linux-musl-ar)
set(CMAKE_LINKER ${toolchain}/bin/aarch64-openwrt-linux-musl-ld)
set(CMAKE_RANLIB ${toolchain}/bin/aarch64-openwrt-linux-musl-ranlib)
set(CMAKE_NM ${toolchain}/bin/aarch64-openwrt-linux-musl-nm)
set(CMAKE_OBJDUMP ${toolchain}/bin/aarch64-openwrt-linux-musl-objdump)
set(CMAKE_OBJCOPY ${toolchain}/bin/aarch64-openwrt-linux-musl-objcopy)
set(CMAKE_STRIP ${toolchain}/bin/aarch64-openwrt-linux-musl-strip)
# set(CMAKE_FIND_ROOT_PATH ${toolchain}/lib ${toolchain}/usr/lib ${toolchain}/include ${toolchain}/usr/include)
set(CMAKE_FIND_ROOT_PATH ${openssl-dev}/lib ${openssl-dev}/include)
set(CMAKE_INSTALL_RPATH "/usr/local/openssl-dev/lib64")
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# 使find_program, find_library, find_path, find_file等命令
# 先在CMAKE_FIND_ROOT_PATH中搜索
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
编译CMake
清除CMake缓存(若有)
rm CMakeCache.txt
mkdir output
最后加了 -DCMAKE_INSTALL_PREFIX=./output,用于编译完成后make install到指定路径下
cmake .. -DCMAKE_TOOLCHAIN_FILE=./openwrt_toolchain.cmake -DOPENSSL_CRYPTO_LIBRARY=/home/linucong/immortal_build/openssl-openssl-3.0.17/build/lib/libcrypto.so.3 -DOPENSSL_SSL_LIBRARY=/home/linucong/immortal_build/openssl-openssl-3.0.17/build/lib/libssl.so.3 -DOPENSSL_INCLUDE_DIR=/home/linucong/immortal_build/openssl-openssl-3.0.17/build/include -DCMAKE_INSTALL_PREFIX=./output
编译,开8线程
make -j8 && make install
在完成以上操作之后,建议备份编译好的cmake和openssl,以防后续需要重新烧录导致编译结果丢失
传输文件
给ImmortalWrt联网
这里只介绍无线联网方式。
当前状况:上位机使用网线成功连接树莓派4B,并且ping通192.168.1.1
步骤:
打开 192.168.1.1
选择上方“网络”->“无线”

对“无线概况”中的radio0项,点击扫描按钮

选择你要连接的无线网,输入密码,点击提交。保持默认,保存。

禁用模式为Master的SSID为ImmortalWrt的无线网

点击右下方的保存并应用

有已连接站点即成功

到接口界面,编辑wwan接口,设备选择无线网络 client wwan

使用ssh连接
ssh root@192.168.1.1
使用ifconfig来检查网络是否获取到ip地址。例如
phy0-sta0 Link encap:Ethernet HWaddr E6:5F:01:8C:55:AD
inet addr:192.168.31.7 Bcast:192.168.31.255 Mask:255.255.255.0
inet6 addr: fe80::e45f:1ff:fe8c:55ad/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:576 errors:0 dropped:0 overruns:0 frame:0
TX packets:619 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:73329 (71.6 KiB) TX bytes:82673 (80.7 KiB)
说明已经获取到了地址192.168.31.7
测试是否ping通网关
ping 192.168.31.1
测试是否连通外网:
ping www.baidu.com
安装v3raya
具体教程见 https://v3raya.org/docs/prologue/installation/openwrt/
opkg update
opkg install luci-i18n-v3raya-zh-cn v3ray-geoip v3ray-geosite
设置开机自启动
vim /etc/rc.local
在exit 0之前输入
v3raya &
:wq保存并退出
后台运行v3raya
v3raya &
访问 (192.168.1.1:2017)[192.168.1.1:2017],即可创建账户和导入订阅
为ImmortalWrt安装sftp server
opkg update
opkg install openssh-sftp-server
测试
scp
显示
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-P port] [-S program]
[[user@]host1:]file1 [...] [[user@]host2:]file2
即成功
scp
在~/immortal_build/immortalwrt-toolchain-24.10.3-bcm27xx-bcm2711_gcc-13.3.0_musl.Linux-x86_64/toolchain-aarch64_cortex-a72_gcc-13.3.0_musl/projects/CMake/build/output文件夹下执行
scp -r ./* root@192.168.1.1:/usr/
测试
安装cpp依赖
opkg update
opkg install libstdcpp
否则会出现
Error loading shared library libstdc++.so.6: No such file or directory (needed by /usr/bin/cmake)
可以尝试执行
ldd /usr/bin/cmake
一般会输出:
root@ImmortalWrt:/usr/bin# ldd ./cmake
/lib/ld-musl-aarch64.so.1 (0x7f9ecd0000)
libssl.so.3 => /usr/lib/libssl.so.3 (0x7f9ec0c000)
libcrypto.so.3 => /usr/lib/libcrypto.so.3 (0x7f9e797000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f9e592000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f9e561000)
libc.so => /lib/ld-musl-aarch64.so.1 (0x7f9ecd0000)
还可以使用
cmake --version
来确定是cmake是可用的
如果有出现 Error relocating ./cmake: SSL_get0_group_name: symbol not found ,说明编译使用的OpenSSL版本比板子上的ImmortalWrt上的版本不一致。可以将编译好的openssl复制到树莓派上:(~/immortal_build/openssl-openssl-3.0.17/build文件夹下执行)
scp -r ./* root@192.168.1.1:/usr/local/openssl-dev/
在树莓派上使用export LD_LIBRARY_PATH=/usr/local/openssl-dev/lib:$LD_LIBRARY_PATH"来修改动态链接路径,这样可以解决报错。
root@ImmortalWrt:/usr/local# ldd /usr/bin/cmake
/lib/ld-musl-aarch64.so.1 (0x7f93f40000)
libssl.so.3 => /usr/local/openssl-dev/lib/libssl.so.3 (0x7f93e3b000)
libcrypto.so.3 => /usr/local/openssl-dev/lib/libcrypto.so.3 (0x7f93955000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f93750000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x7f9371f000)
libc.so => /lib/ld-musl-aarch64.so.1 (0x7f93f40000)
但是建议还是在编译OpenSSL的时候使用正确的版本。可以在/etc/profile里面写入export ...保持环境变量的修改。
安装python 和pip
opkg update
opkg install python3
opkg install python3-pip
验证
python --version
pip --version
安装uv(按需)
使用官网的安装方式会发生段错误
root@ImmortalWrt:/usr/bin# wget -qO- https://astral.sh/uv/install.sh | sh
Segmentation fault
可以从github下载包,再解压
wget https://github.com/astral-sh/uv/releases/download/0.9.5/uv-aarch64-unknown-linux-musl.tar.gz
# 替换成真正下载的文件的名称
tar -xzf 505bab34-920b-4502-beb1-6b96cbf60d8f\?sp=r
cd uv-aarch64-unknown-linux-musl/
mv ./* /usr/bin
chmod +x /usr/bin/uv /usr/bin/uvx
cd /
rm -rf uv-aarch64-unknown-linux-musl 505bab34-920b-4502-b
eb1-6b96cbf60d8f\?sp=r
对uv进行永久换源
vim /etc/profile
添加环境变量
export UV_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
export PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"
更新
source /etc/profile
下载模型
如果你想要使用safetensor格式的模型可以按照以下操作。如果只是想使用llama.cpp使用gguf格式的模型可以跳过这一步,去huggingface上面找gguf格式的模型。这里用的是魔搭上推荐的方式,当然也可以手动下载。
新建环境
cd ~
uv venv Qwen3
source Qwen3/bin/activate
cd Qwen3
uv init
安装魔搭
uv pip install modelscope
下载模型
cd Qwen3
modelscope download --model Qwen/Qwen3-1.7B --local_dir ./dir
安装VScode Server
在板子上安装
opkg install coreutils procps-ng bash gzip ca-certificates ca-bundle coreutils coreutils-sleep tar
等其它包(因为装过的包太多导致无法一一记录,应该安装了这些包就可以满足要求,关健应该在于coreutils coreutils-sleep。可以先安装这两个包之后就进行连接尝试,如果不行的话再执行以下操作)
修改默认命令行
vim /etc/passwd
修改默认的命令行为bash(原先是ash)
root:x:0:0:root:/root:/bin/bash
在上位机vscode中设置
"remote.SSH.useExecServer": true
"remote.SSH.showLoginTerminal": true, #用来检查报错
"remote.SSH.useLocalServer": false,
如果遇到了类似于缺失getconf的报错或者一直出现类似于无法将xx修改为03的错误,请将remote.SSH.useExecServer修改为true。如果仍然遇到报错,注意安装coreutils和coreutils-sleep。
同时也有遇到网络不好的可能性。可以设置"remote.SSH.showLoginTerminal为true来检查下载情况
如果想要重新安装vscode-server,可以在树莓派上执行
rm -rf ~/.vscode-server
另外,参考 https://jishuzhan.net/article/1970795202161459202
如果需要在vscode 界面中使用claude等模型,可以在操作机的vscode中,点击

之后在~/.ssh/config中
Host 192.168.1.1
HostName 192.168.1.1
User root
(如果上位机使用***的话)加入一行,变成
Host 192.168.1.1
HostName 192.168.1.1
User root
RemoteForward 7890 127.0.0.1:7890
如果以上措施不可行的话,可以尝试在设置中加上
"http.proxy": "http://127.0.0.1:7890",
"http.proxyStrictSSL": false,
也可以使用网上其它方法,加入值为ui的字段。例如 https://zhuanlan.zhihu.com/p/1966613372184294831 和 https://blog.csdn.net/qq_32057921/article/details/145764603
或者使用v3ray来避开ip所在地的检测
配置llama.cpp
opkg install git make gcc libstdcpp file
设置环境变量
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
export C_INCLUDE_PATH=/usr/local/musl/include
export LIBRARY_PATH=/usr/local/musl/lib
export LD_LIBRARY_PATH=/usr/local/musl/lib:/usr/lib64
测试gcc
$CC --version
mkdir ~/test
cd ~/test
touch test.c
vim test.c
输入
#include <stdio.h>
int main() {
printf("Hello, musl!\n");
return 0;
}
测试
$CC test.c -o test
./test
如果输出 Hello, musl!,说明工具链工作正常。
编译llama.cpp
如果出现ABI冲突,可以参考日志,使用以下命令
mv /usr/lib64 /usr/lib64.bak
注意到编译可能会出现dl库缺失的情况,例如在编译过程中可能出现这样的情况:
/usr/bin/ld: cannot find -ldl: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [examples/gguf-hash/CMakeFiles/llama-gguf-hash.dir/build.make:110: bin/llama-gguf-hash] Error 1
make[1]: *** [CMakeFiles/Makefile2:1474: examples/gguf-hash/CMakeFiles/llama-gguf-hash.dir/all] Error 2
由于在musl libc中,libdl的功能已经内置在libc中,所以对ggml的CMakelists.txt进行修改
将242行附近的
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
target_link_libraries(ggml PRIVATE dl)
endif()
将其进行注释
由于OpenWrt/ImmortalWrt对于OpenMP不支持我们先不加
禁用动态库(使用静态库) 禁用构建测试程序(绕开ABI冲突) 禁用cURL库支持(build的时候会报错,如果说用不了的话就禁用) 进行cmake
cmake -B build -DBUILD_SHARED_LIBS=OFF -DLLAMA_BUILD_TESTS=OFF -DLLAMA_CURL=OFF -DGGML_OPENMP=OFF -DCMAKE_BUILD_TYPE=Release -DGGML_PTHREAD=ON
cmake --build build -j4
如果想要编译出更快的llama.cpp可以加上--config Realease
cmake --build build -j4 --config Release
如果遇到报错或者想要重新编译可以执行
rm -rf build
如果遇到疑似炸内存的情况,可以使用单线程编译
cmake --build build -j1
编译好了之后可以去下载模型
https://huggingface.co/unsloth/Qwen3-1.7B-GGUF
注意要是GGUF格式的
运行模型
以下为一些案例:
使用llama-cli
MODEL_NAME="Qwen3-1.7B-UD-Q8_K_XL.gguf"
MODEL_NAME="Qwen3-1.7B-UD-Q6_K_XL.gguf"
MODEL_NAME="Qwen3-1.7B-UD-Q5_K_XL.gguf"
MODEL_PATH="/root/models/${MODEL_NAME}"
cd ~/llama.cpp.copy/build/bin
./llama-run \
--context-size 4096 \
--threads 4 \
--temp 0.7 \
"$MODEL_PATH" \
"1+1的结果是多少?"

使用llama-server
如果想要不想要使用思考模式,请去 文档中去下载qwen3_nonthinking.jinja
注意需要使用--jinja来应用模板
~/llama.cpp/build/bin/llama-server \
-m /root/models/Qwen3-0.6B-Q8_0.gguf \
-t 4 \
--mlock \
-c 4096 \
--host 0.0.0.0 \
--no_warmup
~/llama.cpp/build/bin/llama-server \
-m /root/models/Qwen3-0.6B-Q8_0.gguf \
--jinja \
-t 4 \
--mlock \
-c 4096 \
--host 0.0.0.0 \
--chat-template-file /root/llama.cpp/models/templates/qwen3_nonthinking.jinja \
--no_warmup \
~/llama.cpp/build/bin/llama-server \
--model ~/models/Qwen3-VL-2B-Instruct-UD-Q6_K_XL.gguf \
--mmproj ~/models/mmproj-F16.gguf \
--host 0.0.0.0 \
--port 8080 \
--ctx-size 4096 \
--temp 0.8
测试性能
部分参数说明:
-p指定 prompt 处理测试 中使用的 token 数量-n指定 文本生成测试 中生成的 token 数量-t指定使用的 CPU 线程数-ngl卸载多少层到GPU上-r每个测试配置重复运行的次数
cd /root/llama.cpp && ./build/bin/llama-bench \
-m /root/models/Qwen3-0.6B-Q8_0.gguf \
-m /root/models/Qwen3-1.7B-UD-Q5_K_XL.gguf \
-m /root/models/Qwen3-VL-2B-Instruct-UD-Q6_K_XL.gguf \
-p 512,1024,2048 \
-n 128,256 \
-t 1,2,4 \
-ngl 0 \
-r 5 \
-o json > benchmark_results.json\
--progress
posted on
浙公网安备 33010602011771号