Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
/ds4_native
/ds4_server_test
/ds4_test
/tests/ds4_agent_context_test
/tests/ds4_agent_git_test
/tests/ds4_kv_cache_benefit_test
/tests/generated/
/ds4flash.gguf
/TODO.md
/gguf/
Expand Down
72 changes: 60 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ CPU_CORE_OBJS = ds4_cpu.o
METAL_LDLIBS := $(LDLIBS)
endif

.PHONY: all help clean test cpu cuda cuda-spark cuda-generic cuda-regression
.PHONY: all help clean test test-agent-context-loop test-agent-context-compact-canary test-agent-context-self-improvement test-kv-cache-benefit cpu cuda cuda-spark cuda-generic cuda-regression

ifeq ($(UNAME_S),Darwin)
all: ds4 ds4-server ds4-bench ds4-eval ds4-agent
Expand All @@ -43,6 +43,14 @@ help:
@echo " make Build Metal ./ds4, ./ds4-server, ./ds4-bench, ./ds4-eval, and ./ds4-agent"
@echo " make cpu Build CPU-only ./ds4, ./ds4-server, ./ds4-bench, ./ds4-eval, and ./ds4-agent"
@echo " make test Build and run tests"
@echo " make test-agent-context-loop"
@echo " Run slow DS4-generated agent context loop e2e"
@echo " make test-agent-context-compact-canary"
@echo " Run slow DS4-generated compaction canary e2e"
@echo " make test-agent-context-self-improvement"
@echo " Run slow DS4-generated KV self-improvement e2e"
@echo " make test-kv-cache-benefit"
@echo " Run optional KV restore benefit benchmark"
@echo " make clean Remove build outputs"

ds4: ds4_cli.o linenoise.o $(CORE_OBJS)
Expand All @@ -57,15 +65,15 @@ ds4-bench: ds4_bench.o $(CORE_OBJS)
ds4-eval: ds4_eval.o $(CORE_OBJS)
$(CC) $(CFLAGS) -o $@ ds4_eval.o $(CORE_OBJS) $(METAL_LDLIBS)

ds4-agent: ds4_agent.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS)
$(CC) $(CFLAGS) -o $@ ds4_agent.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS) $(METAL_LDLIBS)
ds4-agent: ds4_agent.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS)
$(CC) $(CFLAGS) -o $@ ds4_agent.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS) $(METAL_LDLIBS)

cpu: ds4_cli_cpu.o ds4_server_cpu.o ds4_bench_cpu.o ds4_eval_cpu.o ds4_agent_cpu.o ds4_web.o ds4_kvstore.o linenoise.o rax.o $(CPU_CORE_OBJS)
cpu: ds4_cli_cpu.o ds4_server_cpu.o ds4_bench_cpu.o ds4_eval_cpu.o ds4_agent_cpu.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o rax.o $(CPU_CORE_OBJS)
$(CC) $(CFLAGS) -o ds4 ds4_cli_cpu.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-server ds4_server_cpu.o ds4_kvstore.o rax.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-bench ds4_bench_cpu.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-eval ds4_eval_cpu.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-agent ds4_agent_cpu.o ds4_web.o ds4_kvstore.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-agent ds4_agent_cpu.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)

cuda-regression:
@echo "cuda-regression requires a CUDA build"
Expand All @@ -79,6 +87,14 @@ help:
@echo " make cuda CUDA_ARCH=sm_N Build CUDA with an explicit nvcc -arch value"
@echo " make cpu Build CPU-only ./ds4, ./ds4-server, ./ds4-bench, ./ds4-eval, and ./ds4-agent"
@echo " make test Build and run tests"
@echo " make test-agent-context-loop"
@echo " Run slow DS4-generated agent context loop e2e"
@echo " make test-agent-context-compact-canary"
@echo " Run slow DS4-generated compaction canary e2e"
@echo " make test-agent-context-self-improvement"
@echo " Run slow DS4-generated KV self-improvement e2e"
@echo " make test-kv-cache-benefit"
@echo " Run optional KV restore benefit benchmark"
@echo " make clean Remove build outputs"

cuda-spark:
Expand Down Expand Up @@ -107,15 +123,15 @@ ds4-bench: ds4_bench.o $(CORE_OBJS)
ds4-eval: ds4_eval.o $(CORE_OBJS)
$(NVCC) $(NVCCFLAGS) -o $@ $^ $(CUDA_LDLIBS)

ds4-agent: ds4_agent.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS)
ds4-agent: ds4_agent.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o $(CORE_OBJS)
$(NVCC) $(NVCCFLAGS) -o $@ $^ $(CUDA_LDLIBS)

cpu: ds4_cli_cpu.o ds4_server_cpu.o ds4_bench_cpu.o ds4_eval_cpu.o ds4_agent_cpu.o ds4_web.o ds4_kvstore.o linenoise.o rax.o $(CPU_CORE_OBJS)
cpu: ds4_cli_cpu.o ds4_server_cpu.o ds4_bench_cpu.o ds4_eval_cpu.o ds4_agent_cpu.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o rax.o $(CPU_CORE_OBJS)
$(CC) $(CFLAGS) -o ds4 ds4_cli_cpu.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-server ds4_server_cpu.o ds4_kvstore.o rax.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-bench ds4_bench_cpu.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-eval ds4_eval_cpu.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-agent ds4_agent_cpu.o ds4_web.o ds4_kvstore.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)
$(CC) $(CFLAGS) -o ds4-agent ds4_agent_cpu.o ds4_agent_context.o ds4_web.o ds4_kvstore.o linenoise.o $(CPU_CORE_OBJS) $(LDLIBS)

cuda-regression: tests/cuda_long_context_smoke
./tests/cuda_long_context_smoke
Expand All @@ -136,9 +152,12 @@ ds4_bench.o: ds4_bench.c ds4.h
ds4_eval.o: ds4_eval.c ds4.h
$(CC) $(CFLAGS) -c -o $@ ds4_eval.c

ds4_agent.o: ds4_agent.c ds4.h ds4_kvstore.h ds4_web.h linenoise.h
ds4_agent.o: ds4_agent.c ds4.h ds4_agent_context.h ds4_kvstore.h ds4_web.h linenoise.h
$(CC) $(CFLAGS) -c -o $@ ds4_agent.c

ds4_agent_context.o: ds4_agent_context.c ds4_agent_context.h
$(CC) $(CFLAGS) -c -o $@ ds4_agent_context.c

ds4_web.o: ds4_web.c ds4_web.h
$(CC) $(CFLAGS) -c -o $@ ds4_web.c

Expand All @@ -151,6 +170,12 @@ ds4_test.o: tests/ds4_test.c ds4_server.c ds4.h ds4_kvstore.h rax.h
tests/cuda_long_context_smoke.o: tests/cuda_long_context_smoke.c ds4_gpu.h
$(CC) $(CFLAGS) -I. -c -o $@ tests/cuda_long_context_smoke.c

tests/ds4_agent_context_test.o: tests/ds4_agent_context_test.c ds4_agent_context.h
$(CC) $(CFLAGS) -I. -c -o $@ tests/ds4_agent_context_test.c

tests/ds4_kv_cache_benefit_test.o: tests/ds4_kv_cache_benefit_test.c ds4.h
$(CC) $(CFLAGS) -I. -c -o $@ tests/ds4_kv_cache_benefit_test.c

rax.o: rax.c rax.h rax_malloc.h
$(CC) $(CFLAGS) -c -o $@ rax.c

Expand All @@ -172,7 +197,7 @@ ds4_bench_cpu.o: ds4_bench.c ds4.h
ds4_eval_cpu.o: ds4_eval.c ds4.h
$(CC) $(CFLAGS) -DDS4_NO_GPU -c -o $@ ds4_eval.c

ds4_agent_cpu.o: ds4_agent.c ds4.h ds4_kvstore.h ds4_web.h linenoise.h
ds4_agent_cpu.o: ds4_agent.c ds4.h ds4_agent_context.h ds4_kvstore.h ds4_web.h linenoise.h
$(CC) $(CFLAGS) -DDS4_NO_GPU -c -o $@ ds4_agent.c

ds4_metal.o: ds4_metal.m ds4_gpu.h $(METAL_SRCS)
Expand All @@ -184,16 +209,39 @@ ds4_cuda.o: ds4_cuda.cu ds4_gpu.h ds4_iq2_tables_cuda.inc
tests/cuda_long_context_smoke: tests/cuda_long_context_smoke.o ds4_cuda.o
$(NVCC) $(NVCCFLAGS) -o $@ $^ $(CUDA_LDLIBS)

tests/ds4_agent_context_test: tests/ds4_agent_context_test.o ds4_agent_context.o
$(CC) $(CFLAGS) -o $@ tests/ds4_agent_context_test.o ds4_agent_context.o $(LDLIBS)

tests/ds4_kv_cache_benefit_test: tests/ds4_kv_cache_benefit_test.o $(CORE_OBJS)
ifeq ($(UNAME_S),Darwin)
$(CC) $(CFLAGS) -o $@ tests/ds4_kv_cache_benefit_test.o $(CORE_OBJS) $(METAL_LDLIBS)
else
$(NVCC) $(NVCCFLAGS) -o $@ tests/ds4_kv_cache_benefit_test.o $(CORE_OBJS) $(CUDA_LDLIBS)
endif

ds4_test: ds4_test.o ds4_kvstore.o rax.o $(CORE_OBJS)
ifeq ($(UNAME_S),Darwin)
$(CC) $(CFLAGS) -o $@ ds4_test.o ds4_kvstore.o rax.o $(CORE_OBJS) $(METAL_LDLIBS)
else
$(NVCC) $(NVCCFLAGS) -o $@ ds4_test.o ds4_kvstore.o rax.o $(CORE_OBJS) $(CUDA_LDLIBS)
endif

test: ds4_test ds4-eval
test: ds4_test ds4-eval tests/ds4_agent_context_test
./ds4-eval --self-test-extractors
./tests/ds4_agent_context_test
./ds4_test

test-agent-context-loop: ds4-agent tests/ds4_agent_context_test
sh tests/ds4_agent_context_loop_e2e.sh

test-agent-context-compact-canary: ds4-agent
sh tests/ds4_agent_context_compact_canary_e2e.sh

test-agent-context-self-improvement: ds4-agent
sh tests/ds4_agent_context_self_improvement_e2e.sh

test-kv-cache-benefit: tests/ds4_kv_cache_benefit_test
./tests/ds4_kv_cache_benefit_test

clean:
rm -f ds4 ds4-server ds4-bench ds4-eval ds4-agent ds4_cpu ds4_native ds4_server_test ds4_test *.o tests/cuda_long_context_smoke tests/cuda_long_context_smoke.o
rm -f ds4 ds4-server ds4-bench ds4-eval ds4-agent ds4_cpu ds4_native ds4_server_test ds4_test *.o tests/cuda_long_context_smoke tests/cuda_long_context_smoke.o tests/ds4_agent_context_test tests/ds4_agent_context_test.o tests/ds4_kv_cache_benefit_test tests/ds4_kv_cache_benefit_test.o
Loading