编译leela-zero-next

in ai •  6 years ago 

编译 leela-zero-next

官方教程:https://github.com/leela-zero/leela-zero/tree/next#compiling-autogtp-andor-leela-zero

如果遇到 git clone 速度极慢极不稳定的问题,可如下设置:

// 设置
git config --global http.proxy "socks5://xxx"
git config --global https.proxy "socks5://xxx"
// 取消
git config --global --unset http.proxy
git config --global --unset https.proxy

以下基于 Windows10 + VS2017 环境,实为踩坑笔记,面向纯粹的 C++ 门外汉,大神请退散。

工具

01下载vs2017.png

下载、安装并运行。
如无其他需求,可最小化组件安装:
02最小化安装vs2017.PNG

VC++ 2017 tools
Windows 10 SDK
Google Test 测试适配器

源码

如果实在不便使用 git clone,可以考虑用笨办法将源码下载后手动处理。
03下载next源码.png

首先访问官方项目,点击 Clone and download,点击 Download ZIP;开始下载后,再点击源码列表中的文件夹 gtest @ xxx,跳转到 gtest 项目,同上下载;开始下载后,回到官方项目,点击源码列表中的文件夹 src,跳转后再点击源码列表中的文件夹 Eigen @ xxx,跳转到 Eigen 项目,同上下载。
一切顺利的话,最后得到三个 zip 压缩包,全部解压。将 gtest 和 Eigen 解压后得到的那个文件夹内的一大堆内容全部复制到 leela-zero-next 的对应文件夹内。
至此准备就绪。

编译

打开 leela-zero-next 文件夹内的 msvc 文件夹,双击 leela-zero2017.sln 文件,进入 VS2017。
点击工具栏项目,在下拉菜单中点击第一项重定解决方案目标,在弹出对话框中点击确定按钮。
默认状态下工具栏会显示解决方案配置为 Debug,点击之并在下拉菜单中选择 Release,最后点击绿色箭头的本地 Windows 调试器
编译速度由 CPU 等的性能决定,首次编译时间较长,等待一段时间即大功告成。

其他

写作本文时 leela-zero-next 依赖 opencl-nug 0.777.12版,而最新稳定版为 0.777.77,强迫症患者千万别乱升级,否则将导致找不到依赖而编译失败。
编译成功后二进制文件存储在 ./msvc/x64/ 目录下,可直接将该目录打包分享,仅 .exe .dll 为必需,其余文件分享时可以删除。
第一次运行时会进行初始化,完成后会产生 leelaz_opencl_tuning 文件,分享时千万不要附带该文件,否则可能导致接收者初始化特别漫长甚至无法运行。
因绝大多数 LZ 项目周边编译者和项目作者 GCP 一样都是用的 VS2017,所以可能仅分享了他们编译出的 .exe 文件,只要放到存有 .dll 的文件夹下即可兼容调用。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!