aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2026-08-30 19:46:07 +0100
committertslil <tslil@posteo.de>2026-09-02 12:13:01 +0100
commit241156da6f35cb888253e6b8814e7b61a76b4fc7 (patch)
treee562029445b1473cc89590793f32c561540d621c /Makefile
parent696c3808220ea9d8c604939894a2d509f05cc4c6 (diff)
TD(lambda), and a big rework
NOTE: 6x6 weights are as-yet untrained On the performance side: * switch from linked-list chaining hash table to direct mapping * cache check_win by hash * persist transposition tables across plies (this was a big deal and difficult to puzzle out) * add align directives to the network floats * prepare_nn_input gained a small LUT to avoid branching (i suppose you might call this 1D embedding) * apply mtune=native for the native builds On the correctness side: * Zobrist has now includes the ply parity * the network now predicts something in [-1, 1] using tanh (approximated by polynomials) * the training object is now MSE because we're learning a value estimate * use .clangd instead of compile_commands.json On the training side: * completely forgo human-derived data set * implement td(lambda), self-play, tournaments
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile21
1 files changed, 14 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 5303448..7047e81 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,11 @@
IDIR=include
-DEFINES=-DDETERMINISTIC
CFLAGS=-O3 -ffast-math -Wall -Wextra -Wpedantic -std=c99 -D_DEFAULT_SOURCE $(DEFINES) -I$(IDIR)
+NATIVE_FLAGS=-march=native
CTAK=include/tak.c
CTAK_OBJS=$(CTAK:.c=.o)
-SRCS=$(filter-out include/lcdlib.c,$(wildcard include/*.c))
+CAND_SRCS=include/cand_weights_5.c include/cand_weights_6.c
+SRCS=$(filter-out include/lcdlib.c $(CAND_SRCS),$(wildcard include/*.c))
OBJS=$(SRCS:.c=.o)
BUILDROOT_DIR=buildroot-2020.11.1
@@ -25,14 +26,20 @@ ctlm: src/ctlm.o $(OBJS)
cttei: src/cttei.o $(OBJS)
$(CC) $(CFLAGS) src/cttei.o $(OBJS) -o cttei
-pptdb: src/pptdb.o $(CTAK_OBJS)
- $(CC) $(CFLAGS) src/pptdb.o $(CTAK_OBJS) -o pptdb
-
clean:
- rm -f ctlm ct1986 cttei pptdb geminict
+ rm -f ctlm ct1986 cttei pptdb geminict selfplay match
rm -f src/*.o include/*.o
-native: clean ctlm cttei geminict
+native: CFLAGS += $(NATIVE_FLAGS)
+native: clean ctlm cttei geminict selfplay
+
+selfplay: CFLAGS += $(NATIVE_FLAGS)
+selfplay: src/selfplay.o $(OBJS)
+ $(CC) $(CFLAGS) src/selfplay.o $(OBJS) -o selfplay
+
+match: CFLAGS += $(NATIVE_FLAGS)
+match: src/match.o $(OBJS)
+ $(CC) $(CFLAGS) src/match.o $(OBJS) -o match
$(CROSS_CC):
./resources/do_buildroot.sh $(BUILDROOT_DIR)