Debian 12, gcc 12.
CCStockfish编译通过,运行时没有.nnue文件。文档声称可不用NNUE, ucioption.cpp里没有Use NNUE,不可能setoption 它 false.
Pikafish,make build时自动先make net,从GitHub下载到了43MB的.nnue文件。
AI说:根据同类引擎测试数据:
- 文件大小与ELO呈正相关(每10MB约提升50-80ELO)
- 该规模文件在i7-12700H处理器上实测(6个性能核+8个能效核。20 线程(性能核支持超线程,能效核不支持)三级缓存24MB)
- 平均计算速度:18层/秒
- 典型ELO范围:2400-2600
- 对职业棋手胜率:约65%
特级大师水平通常对应ELO 2500+,具体表现特征包括:
- 计算深度:15-20层/秒(取决于硬件)
- 局面评估误差率<5%
- 对复杂残局处理准确率>90%
我修改的ElephantEye,在N100上 9~10层/秒 (单核)。据说用了NNUE后多线程很方便。普通状态cpu MHz 700,单核最高睿频3.4G,6M缓存,bogomips 1612.8,有avx2和avx_vnni. Advanced Vector eXtensions - Vector Neural Network Instructions, AVX512-VNNI的丐版,支持256/512位向量,但性能弱。
垂涎三尺,奈何编译出错。① “能累机器就不累人” ② 访问GitHub不快,源码降级不如gcc降级,然而11和10都编译不过。
先歇会;倒是顺路把一团乱麻的sources.list整理清爽了:
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware #deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware deb https://mirrors.aliyun.com/debian bookworm-backports main contrib non-free non-free-firmware deb https://mirrors.aliyun.com/debian bullseye main contrib deb https://mirrors.tencent.com/debian buster main contrib
Debian 12的backports,11和10加起来,apt list | wc -l 121,572个包。
deb [选项] <协议>://<镜像地址>/<发行版代号> <组件1> <组件2>
<发行版代号>
:Debian 版本名称(如bookworm
)或类别(如stable
)<组件>
:软件包分类,如main
(自由软件)、contrib
(依赖非自由软件)、non-free
(非自由软件)
然后可以在多个gcc版本间切换:
# update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10最后面那个数是优先级,机智的我用了版本号 || 脑子不够想新数的# update-alternatives --config g++ 有 2 个候选项可用于替换 g++ (提供 /usr/bin/g++)。 选择 路径 优先级 状态 ------------------------------------------------------------0 /usr/bin/g++-12 12 自动模式 * 1 /usr/bin/g++-10 10 手动模式2 /usr/bin/g++-12 12 手动模式# g++ -v gcc version 10.2.1 20210110 (Debian 10.2.1-6)
哦,打个补丁:
# update-alternatives --display g++ g++ - 手动模式最佳链接版本为 /usr/bin/g++-12 链接目前指向 /usr/bin/g++-10 链接 g++ 指向 /usr/bin/g++ /usr/bin/g++-10 - 优先级 10 /usr/bin/g++-12 - 优先级 12自动模式:系统自动选择优先级(priority)最高的版本作为默认版本。
VinXiangQ基于深度学习(YOLOv5),用它来识别抓屏中的棋子,从屏幕截图看引擎可用fairy-stockfish.exe