当前位置: 首页 > news >正文

两个开源中国象棋引擎的编译

Debian 12, gcc 12.

CCStockfish编译通过,运行时没有.nnue文件。文档声称可不用NNUE, ucioption.cpp里没有Use NNUE,不可能setoption 它 false.

Screenshot_20251007_211937

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

http://www.zskr.cn/news/17014.html

相关文章:

  • 推荐一款Swift开发框架- Aquarius
  • 帮宣——可控核聚变
  • NKOJ全TJ计划——NP11721
  • 印度全球能力中心2030年展望与技术基建规划
  • CF2152H2 Victorious Coloring (Hard Version) 题解
  • 题解:P3301 [SDOI2013] 方程
  • 打印A3大小的PDF文件为A4幅面
  • 课程总结2
  • 机器学习:集成学习概念、分类、随机森林 - 实践
  • 解码查找算法与哈希表
  • 如何生成和制作PDF文件 - 实践
  • 1.2 马尔可夫决策过程(Markov Decision Process, MDP)
  • 如果你的微信支付界面出现“摇一摇”,说明你的隐私正在泄露
  • 学习记录:响应式系统、文件通知与游戏输入机制的异同
  • oppoR9m刷Linux系统: 制作 scatter.txt 和 导出手机preloader
  • 升级下载:进阶版(二级单工序)
  • 10.7 NOIP 模拟赛 T2. 中心极限定理
  • 感觉你是那种
  • 详细介绍:目标检测任务的评估指标mAP50和mAP50-95
  • [退役感言]You are my only one.
  • 制作局域网连接打印机exe文件
  • 深入解析:linux——账号和权限的管理
  • 详细介绍:3.1 HarmonyOS NEXT分布式数据管理实战:跨设备同步、端云协同与安全保护
  • 深入解析:实时通信RTC与传统直播的异同
  • LRC and VIP - 教程
  • Software Foundations Vol.I : 多态与高阶函数(Poly)
  • 基于DeploySharp 的深度学习模型部署测试平台:支持YOLO全系列模型
  • 5G-A:开启通信与行业变革的新时代 - 指南
  • 博客迁移至CSDN!!!
  • 国庆收心指南:用AI提示词工程解决节后综合征