-
Notifications
You must be signed in to change notification settings - Fork 583
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MSYS2 Mingw64 Windows Build #1026
Comments
Thanks for the report. Does this approach work with all backends, including compiling and linking with OpenCL/CUDA/TensorRT? The reason I've used Visual Studio was because I knew that Visual Studio supported all of these, and Nvidia's documentation explicitly gives instructions for Visual Studio, so it was easiest to just use Visual Studio for everything. |
I see, yeah I guess Msys2 is more of a niche thing among Windows developers. I just tried an OpenCL build from my first commit (dynamic build) :
It's quite a bit slower than the OpenCL release build : |
One thing that looks peculiar with these builds is the timestamps.
|
Looks like CUDA under msys2 is not possible (CUDA is tightly coupled to the host compiler and Nvidia chose to only support Visual Studio on Windows). Probably same for TensorRT if it depends on CUDA ? |
Hi,
Looks like current Windows builds are based around Visual Studio. Has MSYS2 / Mingw64 been tried to get native Windows binaries ? I'd like to provide a Katago CPU build with Pachi releases (Pachi uses it for joseki purposes) but not too keen on having to bundle all the DLLs along with it, so looking for a more self-contained build.
I'm experimenting with this KataGo MSYS2 build at the moment: (v1.15.3)
https://github.com/lemonsqueeze/KataGo/tree/msys2
Haven't tested extensively but looks like it's doing good now:
After installing Mingw64 toolchain, first commit gives a dynamic build (links against mingw64 dynamic libs).
Second commit gives a native binary (depends on windows DLLs only).
Tried loading models and generating moves with gtp command, looking good so far.
Also tried runtests and runnnlayertests commands. Unicode support looks good too.
It pulls in fewer system DLLs:
Changes:
In
writetrainingdata.cpp
i had to changemaxFilesToLoadArg
type to int. Not sure what's going on, looks like having size_t here leads to someunsigned long long int
in the templates which gcc chokes on. Otherwise the changes are pretty small. It's possible to keep CMAKE_CXX_STANDARD at 14 in cmake config but fileutils.cpp needs fixing then.The text was updated successfully, but these errors were encountered: