Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1990 commits
Select commit Hold shift + click to select a range
0242d21
Remove special case that child weight must be positive to start human…
lightvector Jul 28, 2024
8c91857
Update test files
lightvector Jul 28, 2024
827f755
Allow analysis data output even when no play selection values
lightvector Jul 28, 2024
c2efacc
Change semantics of maxvisits so it counts weightless visits
lightvector Aug 4, 2024
e05d978
Add example human sl 9d search config
lightvector Aug 4, 2024
a043874
Version 1.15.2 and minor further tweaks to config
lightvector Aug 4, 2024
6a0c33d
Add cast to fix cuda compile issue
lightvector Aug 4, 2024
b57dd49
Fix one more bug with root node with all weightless children causing …
lightvector Aug 5, 2024
9897b74
Update default human 9d search lambda to 0.08 and update docs a little
lightvector Aug 6, 2024
cd0ed6c
Version 1.15.3
lightvector Aug 6, 2024
554c56e
Update KataGoMethods.md
lightvector Aug 29, 2024
eee8cdd
More hint gen options, avg log policy
lightvector Sep 13, 2024
e2f926e
Add friendly pass ok into book and graph hash
lightvector Oct 6, 2024
8434664
Update tests for fpok hash
lightvector Oct 6, 2024
b6d5285
More conservative setting of forceNonTerminal for graphhash purposes
lightvector Oct 6, 2024
6033767
Faster rampup for genbook parallelism
lightvector Oct 18, 2024
ea46e03
More fixing and fiddling with book costs
lightvector Oct 20, 2024
e2b98e4
Fix gtp get param numSearchThreads
lightvector Oct 23, 2024
baeb54e
More passing hacks
lightvector Oct 23, 2024
f17cd38
Evalsgf a range
lightvector Nov 3, 2024
06a7f77
Adjust utility per policy for sorting
lightvector Nov 5, 2024
bdc595f
Eval random inits misc tool
lightvector Nov 12, 2024
8d60522
More utility weight and fix game mode hint extract
lightvector Nov 20, 2024
33d24b4
More convenient poses summarize
lightvector Nov 30, 2024
3712bce
Fix python play script for new gamestate
lightvector Nov 30, 2024
e1d0f3f
Record window range in training metrics
lightvector Nov 30, 2024
97cba2f
Merge book changes
lightvector Nov 30, 2024
154df4b
Merge commit katago methods update
lightvector Nov 30, 2024
f0cb3d9
Light hint and sgf poses before hints, utility threshold for main exp…
lightvector Nov 30, 2024
f3012e8
Only train users option for sgf write
lightvector Dec 1, 2024
4d3e767
Hintpos utils conveniences and fixes
lightvector Dec 1, 2024
ae87190
Fix training window stats recording
lightvector Dec 2, 2024
35d54fe
Merge master
lightvector Dec 2, 2024
6ca00c1
Update tests
lightvector Dec 3, 2024
bba24df
Merge master
lightvector Dec 7, 2024
5e9519d
Fix old summarize selfplay files error reporting
lightvector Dec 7, 2024
6856da9
Dilation nested bottleneck
lightvector Dec 7, 2024
9b2bbe1
Add forward turn scale
lightvector Dec 8, 2024
ce13a7f
Require explicit tolerate illegal moves in sampling sgfs
lightvector Dec 27, 2024
7ccb36c
Hack to handle more gogod files
lightvector Jan 4, 2025
c7f6998
Fix missing handicap placements in fox sgfs
lightvector Jan 5, 2025
518fa30
Fix book test bug
lightvector Jan 5, 2025
3cd4d58
Fix tests for tiny float change in calc
lightvector Jan 5, 2025
5b969d8
Merge, tests in good state
lightvector Jan 5, 2025
aadfe24
Stricter player checks on move legality and improve some foxwq sgf hacks
lightvector Jan 5, 2025
c4a0177
Fix hint gen bug exposed by stricter turn checks and add tests
lightvector Jan 5, 2025
6c41406
Fix doublecounting of turn in error message
lightvector Jan 5, 2025
8032fd9
Foxwq 6-7 stone handicap hack in older sgfs
lightvector Jan 5, 2025
6af0a59
Make sgf sampling handle nodes with pure player changes
lightvector Jan 5, 2025
c5894f1
Fix training files generator sizing logic bug and push back unused files
lightvector Jan 31, 2025
eef58c0
Minor debugging changes, and support for setting named rules in play.…
lightvector Feb 6, 2025
680daa6
Support rectangular boards in python play and board scripts
lightvector Feb 6, 2025
1fbe3ca
Fix minor typo
lightvector Feb 6, 2025
a8036d9
Update the current year to 2025 in the README.md file (#1024)
HarangPanul Feb 23, 2025
c6273b6
Typo in shuffle.py (#1005)
nerai Feb 23, 2025
5e8d174
Fix typo in GraphSearch.md (#1022)
GoodCoder666 Feb 23, 2025
a968f01
Concurrent npz data loading for training
lightvector Feb 23, 2025
7ba9e93
Fix auto avoid repeat cfg handling and warning and saving issues
lightvector Feb 23, 2025
78ed61d
Update tests
lightvector Feb 23, 2025
1f425c5
Quick update to readmes
lightvector Feb 23, 2025
c8f936e
Update to docs and more leninent mkdir for shuffle tmp dir
lightvector Mar 8, 2025
af4b9a1
Minor fixes to shuffle script
lightvector Mar 15, 2025
8990f6c
Record q values in data on cpp side
lightvector Mar 15, 2025
670e767
Simplify shuffle script logic
lightvector Mar 15, 2025
a765686
Implement q value targets in shuffle
lightvector Mar 15, 2025
eb9c49e
Implement q values in data processing
lightvector Mar 15, 2025
c2aa06f
Model architecutre support and loss for qvalues in pytorch
lightvector Mar 16, 2025
1c73557
Export and update cpp with support for new model version
lightvector Mar 16, 2025
145847b
Merge from master
lightvector Mar 16, 2025
ad16de3
Fix edit checkpoint
lightvector Mar 16, 2025
fa80c33
Safe barrier for multiprocessing cleanup
lightvector Mar 21, 2025
02fca11
Move save to be later after export cycle and val
lightvector Mar 22, 2025
7673147
Also add fix for longterm checkpoints given repeated restarts of train
lightvector Mar 22, 2025
8d839ab
Simplify nn interface and update canary tests and add lenience
lightvector Mar 24, 2025
af9786c
More coverage for GPU error testing and add script
lightvector Mar 24, 2025
4473e0f
Fix typo
lightvector Mar 25, 2025
031ce6d
Handle safe serialization for torch 2.6
lightvector Mar 25, 2025
78dfa07
Update tests
lightvector Mar 28, 2025
278ff95
Various fixes for qvalues
lightvector Mar 30, 2025
9a74413
Merge recordq
lightvector Mar 30, 2025
5bb6e6a
Update tests
lightvector Mar 30, 2025
22bdb07
Report play selection value in analysis engine
lightvector Mar 31, 2025
d4d39fe
Enable more passing hacks by default for users, update tests, adjust …
lightvector Mar 31, 2025
b5677eb
Update tests for new devbox setup
lightvector Apr 6, 2025
be2be5e
Single sgf file argument
lightvector Apr 6, 2025
044344b
Various new policy head fixes, update tests, weightless visit better …
lightvector Apr 7, 2025
8778b97
Update tests and test script to also test optimism and PDA
lightvector Apr 7, 2025
ff65519
Create a Metal backend for MacOS
ChinChangYang Mar 23, 2025
4b0f674
Update CMakeLists.txt for conditional backend support
ChinChangYang Mar 23, 2025
ec96618
Fix score value data handling in Metal backend
ChinChangYang Mar 23, 2025
df3c05a
Update CMakeLists.txt to add warnings for AppleClang
ChinChangYang Mar 23, 2025
f007013
Add macOS Compilation Instructions to Compiling.md
ChinChangYang Mar 24, 2025
eaf4263
Update NeuralNet methods for model information retrieval
ChinChangYang Mar 25, 2025
4d74c1e
Fix a mask operation for Metal backend
ChinChangYang Mar 26, 2025
5ea914c
Throw error if inputsUseNHWC=true in Metal backend
ChinChangYang Mar 29, 2025
2379f01
Optimize memory usage for InputBuffers structure
ChinChangYang Mar 31, 2025
154aec7
Configurable data type for Metal backend
ChinChangYang Apr 1, 2025
d62ad7d
Simplify mish activation function for Metal performance
ChinChangYang Apr 1, 2025
9bf32d0
Format metalbackend.swift
ChinChangYang Apr 4, 2025
fa8c29c
Update input channel assertions for Metal backend
ChinChangYang Apr 4, 2025
0ceb90f
Support NHWC format for Metal backend
ChinChangYang Apr 7, 2025
65ab03d
Improve zlib build instructions on Windows (#1043)
tterava Apr 7, 2025
055bb0d
Update contributors
lightvector Apr 7, 2025
eda158f
Revive the threshold for Metal FP32 mish
ChinChangYang Apr 8, 2025
cc6b624
Move cpp/macos to cpp/external/macos
ChinChangYang Apr 8, 2025
86ab38f
Remove unused variables from Metal backend
ChinChangYang Apr 8, 2025
d0a323e
Add Metal GPU settings to example configs
ChinChangYang Apr 8, 2025
48d5dfb
Update copyright data, minor disclaimer update
lightvector Apr 8, 2025
812d491
Merge
lightvector Apr 8, 2025
49daaed
Adjust threshold to 20 for Metal FP32 mish
ChinChangYang Apr 8, 2025
4eb8fba
Remove metalUseFP16 from config files
ChinChangYang Apr 8, 2025
593755f
Merge metal backend
lightvector Apr 8, 2025
99beadd
Update comment on threshold
lightvector Apr 8, 2025
2229748
Bump board sizes allowed in default big board compile to 39
lightvector Apr 8, 2025
7d008c0
Update play.py script to output qwinloss and qscore
lightvector Apr 8, 2025
736d641
Update cmakelists for cuda 12.8
lightvector Apr 9, 2025
a306c94
Fix some book ptr warnings
lightvector Apr 9, 2025
21ee09c
Bump bigger board size more to 50
lightvector Apr 9, 2025
1114d48
Signed char hack for arm
lightvector Apr 10, 2025
f5756b1
Version 1.16.0 and update tests
lightvector Apr 8, 2025
81c2b1a
Bump standard to c++ 17 and add some noexcept specifiers
lightvector Apr 26, 2025
6260e62
Dehardcode or adjust a few more board size limits
lightvector Apr 27, 2025
c05965e
Reduce scoring target loss
lightvector May 12, 2025
aa2d2a9
More robust shuffle dir that doesnt depend on symlinks
lightvector May 17, 2025
7c847f3
Board convenience functions
lightvector May 26, 2025
7c4ace7
Fix for shuffle dir - make train script keep up with the latest dir
lightvector May 26, 2025
aa58deb
Organize non-end-callable python files into package
lightvector May 26, 2025
ae3a7f9
Fix
lightvector May 26, 2025
68dd0a0
Use fp32 for trt output heads
lightvector May 26, 2025
da61eaa
Attempt to fix cmake for new trt header defines
lightvector May 26, 2025
b230174
Fix some cuda debug values
lightvector May 27, 2025
10c82fc
OpenCL noexcept lambda fix warnings
lightvector May 31, 2025
80fde3e
Computed merged bn params in the desc
lightvector May 31, 2025
de81cc1
Transform to reduce activations
lightvector May 31, 2025
05ad7e1
Scale8 to reduce activations
lightvector May 31, 2025
b21e75d
Fix eigen and trt warnings
lightvector May 31, 2025
83a3dd2
Update tests for cuda upgrade
lightvector Jun 1, 2025
b0e5847
Merge updated tests
lightvector Jun 1, 2025
3f606c8
Reduce stat tests from 200 to 100
lightvector Jun 1, 2025
8390410
Merge tests
lightvector Jun 1, 2025
3f3171c
Update tests
lightvector Jun 1, 2025
4d5c599
Add a couple tests
lightvector Jun 1, 2025
4e5f3a5
Fix value head scaling logic
lightvector Jun 2, 2025
858aefe
Fix also make non-merged bn values consistent for scale8
lightvector Jun 2, 2025
1fe89ef
Fix scripts for katago python package organization
lightvector Jun 1, 2025
e422887
Tolerant of simple ko violations in gtp and sgfs
lightvector Jun 2, 2025
e2d7a16
Fix batch size logic in benchmark and improve trt message
lightvector Jun 2, 2025
084243e
Fix comment
lightvector Jun 2, 2025
f8e43f2
Version v1.16.1
lightvector Jun 2, 2025
e700606
Add support for MinGW OpenCL build
KvanTTT May 24, 2025
2c99ba2
Support for MinGW Eigen build
KvanTTT May 24, 2025
3e03e11
[MinGW] Fix printing DateTime in log
KvanTTT May 31, 2025
21102c1
[MinGW] Strip symbols in Release mode to decrease the output binary size
KvanTTT Jun 1, 2025
d7e190a
[MinGW] Use static linking
KvanTTT Jun 1, 2025
7888364
[MinGW] Report error when using MinGW toolchain with CUDA or TENSORRT…
KvanTTT Jun 1, 2025
084264f
[MinGW] Update Compiling.md and README.md with MinGW info
KvanTTT Jun 1, 2025
f656127
Fix batch normalization issue in Metal backend (#1069)
ChinChangYang Jun 4, 2025
ace6e72
Fix up mean variance scale bias for bn as well
lightvector Jun 4, 2025
8eb8f2c
Version v1.16.2
lightvector Jun 4, 2025
9030f72
Fix issue with zeros for versions in cmake tensorrt
lightvector Jun 4, 2025
701324a
Allow human model for book policy
lightvector Jun 15, 2025
cbb7687
Fix initial turn number for booktoposes
lightvector Jun 17, 2025
17f3a11
Fix debug output
lightvector Jun 19, 2025
cea8b36
Poses from selfplay init misc tool
lightvector Jun 24, 2025
2512860
Better illegal move debug printing
lightvector Jun 24, 2025
e13800b
Fix pass move hack condition
lightvector Jun 24, 2025
2a249aa
Fix issue with already-finished games during the moves of a start pos
lightvector Jun 26, 2025
cc5ae8b
Merge mingw support
lightvector Jun 26, 2025
4097a8a
Add a status message for mingw
lightvector Jun 26, 2025
dec92b4
Fix running of `synchronous_loop.sh` on macOS (Metal) (#1070)
KvanTTT Jun 26, 2025
3d98eb3
Fix build warnings and errors in Metal backend (#1076)
ChinChangYang Jun 26, 2025
dfd28e7
Add gamma shape for play settings
lightvector Jun 27, 2025
cd4fd6c
Merge
lightvector Jun 28, 2025
3acc45e
Contributors update
lightvector Jun 28, 2025
f738564
Implement overrides task parsing and add parsing test
lightvector Jun 28, 2025
7b30bc0
Random symmetry for misc
lightvector Jun 28, 2025
0a28b86
Gate task test behind env var
lightvector Jun 28, 2025
802946d
Version v1.16.3
lightvector Jun 28, 2025
ef8d71f
Update upload scripts
lightvector Jul 10, 2025
a70b1e6
Head LR factor
lightvector Jul 25, 2025
3099bf7
Adjust qvalue training weights
lightvector May 25, 2025
36e49eb
Merge master into b28 training branch
lightvector Jul 25, 2025
1444b68
Fix up play for v15 vs v16, debugging sandbox commands
lightvector Aug 31, 2025
5bc2c26
Bump games limit for contribute
lightvector Sep 2, 2025
a8526f7
Implement adamw training
lightvector Oct 12, 2025
b46dc85
Fix undefined variable in get_input_feature function (#1107)
loker404 Oct 19, 2025
1acdd97
Update main.cpp (#1085)
HarangPanul Oct 19, 2025
8cfde67
Fix integer precision warnings by changing int to size_t (#1078)
ChinChangYang Oct 19, 2025
c1e3bc6
Split up misc.cpp a little into separate command files
lightvector Sep 4, 2025
7779bba
Entropy analysis debugging command
lightvector Sep 14, 2025
747e96c
Avoid holding the lock when uploading contribute game
lightvector Oct 19, 2025
4321c45
Track graph hash on nodes
lightvector Oct 6, 2024
2947df4
Experimental eval cache implementation
lightvector Oct 6, 2024
6c43248
Update tests
lightvector Oct 19, 2025
e9b594e
Typo fixes, update contributors
lightvector Oct 19, 2025
2cfe3f3
Prevent subtree value bias involving nodes reached by passing
lightvector Oct 19, 2025
8711579
Update tests
lightvector Oct 19, 2025
999b864
Eval cache thread safety
lightvector Oct 20, 2025
1595739
Add eval cache documentation to configs
lightvector Oct 20, 2025
34a36bb
Version v1.16.4
lightvector Oct 20, 2025
dac071f
Fix typo
lightvector Oct 20, 2025
4b8de63
Fix eval cache wrong parameter name
lightvector Oct 20, 2025
84f7e0a
Replace recursive SGF parsing with iterative approach
ChinChangYang Oct 24, 2025
6017d06
Fix bad interaction between pass hack and avoid moves
lightvector Oct 25, 2025
982c059
Compare books utility
lightvector Oct 27, 2025
fcb6ae5
Multithreaded book processing
lightvector Nov 1, 2025
b91071e
Fix inconsistent genmove params setting in gtp
lightvector Nov 2, 2025
b205750
Upgrade to tclap 1.2.5
lightvector Nov 2, 2025
bd5e0d2
Update documentation for gtp humannn fields
lightvector Nov 2, 2025
567bb15
Add support for SGFC komi handling in SgfNode (#1118)
ChinChangYang Nov 2, 2025
728de4a
Merge branch 'fix-recursive-parse-sgf' of github.com:ChinChangYang/Ka…
lightvector Nov 2, 2025
24e13a0
Eliminate more sgf recursion, overhaul sgf allocation to use std ptrs
lightvector Nov 4, 2025
cf0bf63
Fix endless recursions (Win) in threadsafequeue.h (#1122)
KvanTTT Nov 8, 2025
73f4672
Support CUDA 13.0 (#1115)
awei-mj Nov 8, 2025
e2ea1a5
Adjust and fix behind in visits bonus for book
lightvector Nov 16, 2025
3dd4bb5
Code to compute book bottlenecks
lightvector Nov 2, 2025
281573f
Route bottleneck back in to book bonus
lightvector Nov 27, 2025
23bece5
Cost-based bottleneck code
lightvector Nov 28, 2025
1f4183b
Make bottlenecks aware of reexpansion
lightvector Nov 28, 2025
36afc6a
Revert book shouldstop change
lightvector Nov 28, 2025
d883658
Should stop prevent backflow and use in genbook
lightvector Dec 1, 2025
b7da63b
Merge
lightvector Dec 16, 2025
29c1f37
Implement weight decay center 1 for gammas in training
lightvector Nov 4, 2025
c4e079b
Muon implementation
lightvector Dec 16, 2025
5335c1b
Introduce GitHub CI with basic built on Windows, Linux, macOS (OpenCL…
KvanTTT Dec 21, 2025
9f30602
[Python] Support `read_array_header` for different numpy format versi…
KvanTTT Dec 21, 2025
c719cd3
Update CMake configuration to resolve Metal backend build issue for C…
ChinChangYang Dec 21, 2025
bc68c28
Merge book changes
lightvector Dec 21, 2025
76eba50
Minor shuffle version handling
lightvector Dec 21, 2025
aa0c53c
Option to report mcts triple ko prob in gtp and analysis
lightvector Dec 22, 2025
ea784ee
Gamma weight decay center 1 supported for export
lightvector Dec 23, 2025
11dece9
Factor out some lr scale code
lightvector Dec 24, 2025
76dad6c
Fix detection of python tool in bash scripts
KvanTTT Dec 31, 2025
34c9141
Fix `nvinfer` library detection (use `nvinfer_10` on Windows)
KvanTTT Jan 1, 2026
181ed33
Use python for sorting files in `export_model_for_selfplay.sh` and `u…
KvanTTT Dec 31, 2025
5228f00
Fix bash scripts to correctly handle whitespaces in file paths
KvanTTT Jan 2, 2026
51775cc
[Metal] Calculate `CMAKE_OSX_SYSROOT` if it's not set
KvanTTT Jan 4, 2026
4f78e16
Fix clear_cache crash on analysis engine
lightvector Jan 6, 2026
9293c3a
Merge commit '4f78e167' into muon-rebased-2
lightvector Feb 21, 2026
2054f47
Fix out-of-bounds write. (#1162)
kurnevsky Feb 21, 2026
9b90436
Fix undefined variable and invalid escape sequence in play.py (#1157)
changcheng967 Feb 21, 2026
4102a80
Fix cpuct stdev prior divide by zero bound issue
lightvector Feb 21, 2026
6b59226
Add Apache 2.0 license for Swift CMake modules (#1150)
ChinChangYang Feb 21, 2026
b220a1d
Merge
lightvector Feb 21, 2026
8350b4e
Various script polishing and fixes, fix train.py for param group change
lightvector Feb 22, 2026
42de6fe
Adjust muon+adam params, add transformers, add gab, benchmark script,…
lightvector Mar 3, 2026
938da7e
Make `Board` references constant where possible to improve clarity an…
KvanTTT Mar 10, 2026
3ef68bf
Pull in some defaults from #1136
lightvector Mar 15, 2026
5e38948
Fix performance inefficient vector operation (#1168)
KvanTTT Mar 15, 2026
cbeab3b
GAB and TAB experimentation, nbt for transformers, learnable rope.
lightvector Mar 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cpp/external/mozilla-cacerts/cacert.pem binary
154 changes: 154 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
name: Build and Test

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
build-linux:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake build-essential zlib1g-dev libzip-dev opencl-headers ocl-icd-opencl-dev

- name: Cache CMake build
uses: actions/cache@v4
with:
path: |
cpp/CMakeCache.txt
cpp/CMakeFiles
key: ${{ runner.os }}-cmake-${{ hashFiles('**/CMakeLists.txt') }}
restore-keys: |
${{ runner.os }}-cmake-

- name: Configure CMake
working-directory: cpp
run: |
cmake . -DUSE_BACKEND=OPENCL -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS_RELEASE="-s"

- name: Build
working-directory: cpp
run: |
make -j$(nproc)

- name: Run tests
working-directory: cpp
run: |
./katago runtests

- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4
with:
name: katago-linux-opencl
path: cpp/katago

build-macos:
runs-on: macos-latest
permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: |
brew install zlib libzip opencl-headers
- name: Cache CMake build
uses: actions/cache@v4
with:
path: |
cpp/CMakeCache.txt
cpp/CMakeFiles
cpp/build.ninja
cpp/.ninja_deps
cpp/.ninja_log
key: ${{ runner.os }}-cmake-${{ hashFiles('**/CMakeLists.txt') }}
restore-keys: |
${{ runner.os }}-cmake-
- name: Configure CMake
working-directory: cpp
run: |
cmake . -G Ninja -DUSE_BACKEND=OPENCL -DCMAKE_BUILD_TYPE=Release
- name: Build
working-directory: cpp
run: |
ninja
- name: Run tests
working-directory: cpp
run: |
./katago runtests
- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4
with:
name: katago-macos-opencl
path: cpp/katago

build-windows:
runs-on: windows-latest
permissions:
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup MSVC
uses: microsoft/setup-msbuild@v2

- name: Cache vcpkg packages
uses: actions/cache@v4
with:
path: |
${{ env.VCPKG_INSTALLATION_ROOT }}/installed
${{ env.VCPKG_INSTALLATION_ROOT }}/packages
key: ${{ runner.os }}-vcpkg-${{ hashFiles('**/vcpkg.json') }}-opencl
restore-keys: |
${{ runner.os }}-vcpkg-

- name: Install vcpkg dependencies
run: |
vcpkg install zlib:x64-windows libzip:x64-windows opencl:x64-windows

- name: Configure CMake
working-directory: cpp
run: |
cmake . -G "Visual Studio 17 2022" -A x64 `
-DUSE_BACKEND=OPENCL `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake"

- name: Build
working-directory: cpp
run: |
cmake --build . --config Release -j 4

- name: Copy required DLLs
working-directory: cpp
run: |
$vcpkgRoot = $env:VCPKG_INSTALLATION_ROOT
Copy-Item "$vcpkgRoot/installed/x64-windows/bin/*.dll" -Destination "Release/"

- name: Run tests
working-directory: cpp
run: |
Release/katago.exe runtests

- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v4
with:
name: katago-windows-opencl
path: cpp/Release/
43 changes: 37 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,27 @@ cpp/mainopencl
cpp/katago
cpp/configs
cpp/evalsgf
cpp/runmatch.sh
cpp/runmatchauto.sh
cpp/runstuff.sh
cpp/runwrite.sh

cpp/run*.sh
cpp/tests/scratch
cpp/program/gitinfo.h

data/
cpp/tests/results/matchsgfs/games.sgfs
cpp/tests/results/matchsgfs2/games.sgfs

cpp/data/
versions/
cpp/build
cpp/out

export_model_cuda.sh
mixmodels.sh
runfindposes.sh
runtraining.sh
runlztest*.sh

python/upload_all*.sh
python/count_all*.sh

tmp
tmp.txt
test.txt
Expand All @@ -49,6 +53,13 @@ out.txt
# For clion IDE
.idea

# For vscode
.vscode

# For VS
.vs
cpp/CMakeSettings.json

# For cmake
CMakeCache.txt
CMakeFiles/
Expand All @@ -59,3 +70,23 @@ cmake_install.cmake
GPATH
GRTAGS
GTAGS

cpp/external/httplib/cpp-httplib/
cpp/external/nlohmann_json/nlohmann_json
gtp.cfg
katago_contribute/
tmpsgf/
watchgame.txt
models/
python/startposesupload.txt
for_release/

tests/results/matchsgfs/
tests/results/matchsgfs2/

# For Metal Backend
cpp/.ninja_deps
cpp/.ninja_log
cpp/build.ninja
cpp/KataGoSwift.*
cpp/include/KataGoSwift/KataGoSwift-swift.h
46 changes: 43 additions & 3 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,51 @@ Martin Häcker ("dwt") - minor bugfix, MacOS support, commandline improvements
"yenw" - simple compile fix on MacOS.
Adrian Petrescu ("apetresc") - MacOS support
Anson Hu ("farmersrice") - frontend features and logic
Sander Land ("sanderland") - priority, rootInfo, includePolicy options for analysis engine
Sander Land ("sanderland") - many options for analysis engine, various bugfixes and other work
Alexander Noack ("shammyx") - minor customization for resign logic
"yffbit" - minor optimization for benson's algorithm
Michael Reilly ("OmnipotentEntity") - workaround for CUDA on some cmake versions and other work
Hiraoka ("kaorahi") - for help optimizing Eigen backend and other work
Akita Noek ("anoek") - for some minor performance and api suggestions, minor cuda work
Harald Han - for some work on CUDNN8 support
"inbae" - for removing boost filesystem dependencies, major contributions to pytorch training
"rimathia" - for a minor bugfix
"Jonathan_Go" - for help with client proxy support
Jonathan Roy ("roy7") - for various search refactors
Kensuke Matsuzaki ("zakki") - catching a buffer overrun bug
Kuang-che Wu ("kcwu") - minor improvement to distributed logging
"yzyray" - minor bugfix, improvements to gtp extensions
"fuhaoda" - code optimizations, testing, and other improvements
"y-ich" - for GPU optimization suggestions and other minor features
Yule Hou ("hyln9") - For implementing TensorRT backend and various testing and work.
"rooklift" - various documentation improvements
Viktor Pogrebniak ("avtomaton") - for improvements on the config system
Adam Gleave - for improvements on the config system
Emanuel-de-Jong - For minor improvement to GTP command.
"simon300000" - For minor update to .gitignore.
Dave Jarvis - For improved inline documentation for GTP example config.
Yuji Ichikiwa - For a minor fix to include paths.
"hzyhhzy" - For suggestions/improvements for training speed, and for a minor fix for rules parsing.
Thaddee Tyl ("espadrine") - Reporting and fixing of issue with half library intrinsics.
Sebastian H ("nerai") - Minor code cleanups and fixes.
Jochen Voss ("seehuhn") - Typo fix in doc
"kinfkong" - Added trt build configuration option
"TTXS123OK" - Minor code style improvement.
Chin-Chang Yang - For maintaining and implementing the Metal backend for MacOS and a variety of other GPU-related testing.
"tterava" - For improvements to build instructions.
"Stanley" - Minor typo fixes.
"Traveler" - Minor readme edits.
Ivan Kochurkin ("kvanttt") - for work and testing for Mingw and Metal backends.
loker404 - One-line bugfix for python script.
"HarangPanul" - minor code style improvement

Separately from the authors of the content in this repo, additional special thanks to:
Junyan Xu ("alreadydone") - for much testing and troubleshooting for Windows support
Akita Noek ("anoek") - for some minor performance and api suggestions
"petgo3" - for bugfinding and advice on supporting KGS api
"y-ich" - for GPU optimization suggestions
"sbbdms" - for much testing of cpuct and uncertainty parameters
"Medwin", "shengke" and others - for many tests and ideas and parameters
"lionfenfen", and Yi XiaoTian - For major ideas and techniques for improving neural net training in KataGo.
Reid McIlroy-Young ("reidmcy") - for discussion of AlphaZero and policy conditioning and optimism
"jaysephjw", and "gcmutator" - for finding some typos.
"luotiany" - for significant contribution and bug testing on distributed training
Gregory Clark ("w-hat") - Minor typo fixes for graph search doc.
Loading