@@ -30,6 +30,12 @@ run: ./build/$(TARGET) dawnlib
3030
3131run_llm.c : ./build/test_gpt2 dawnlib
3232 $(LIBSPEC ) && $<
33+
34+ run_llm.c_train : ./build/train_gpt2 dawnlib
35+ if [ ! -d dev ] ; then ln -s ./llm.c/dev ; fi
36+ if [ ! -f gpt2_tokenizer.bin ] ; then ln -s ./llm.c/gpt2_tokenizer.bin ; fi
37+ $(LIBSPEC ) && $<
38+
3339llm.c :
3440 if [ ! -d llm.c ]; then git clone git@github.com:karpathy/llm.c.git ; fi
3541
@@ -59,6 +65,26 @@ build/test_gpt2: llm.c build/unittest_kernels.o gpt2_124M.bin
5965 grep -q " ^#include \" unittest_kernels.h\" " llm.c/train_gpt2.c || sed -i ' 1i#include \"unittest_kernels.h\"' llm.c/train_gpt2.c
6066 $(CC ) $(CFLAGS ) $(LDFLAGS ) -o $@ llm.c/test_gpt2.c build/unittest_kernels.o
6167
68+ build/train_gpt2 : llm.c build/unittest_kernels.o gpt2_124M.bin
69+ mkdir -p build
70+ sed -i -e ' s/void encoder_forward(/void ENCODER_FORWARD_CPU(/g' llm.c/train_gpt2.c
71+ sed -i -e ' s/void layernorm_forward(/void LAYERNORM_FORWARD_CPU(/g' llm.c/train_gpt2.c
72+ sed -i -e ' s/void matmul_forward(/void MATMUL_FORWARD_CPU(/g' llm.c/train_gpt2.c
73+ sed -i -e ' s/void attention_forward(/void ATTENTION_FORWARD_CPU(/g' llm.c/train_gpt2.c
74+ sed -i -e ' s/void gelu_forward(/void GELU_FORWARD_CPU(/g' llm.c/train_gpt2.c
75+ sed -i -e ' s/void residual_forward(/void RESIDUAL_FORWARD_CPU(/g' llm.c/train_gpt2.c
76+ sed -i -e ' s/void softmax_forward(/void SOFTMAX_FORWARD_CPU(/g' llm.c/train_gpt2.c
77+ sed -i -e ' s/void crossentropy_forward(/void CROSSENTROPY_FORWARD_CPU(/g' llm.c/train_gpt2.c
78+ sed -i -e ' s/void encoder_backward(/void ENCODER_BACKWARD_CPU(/g' llm.c/train_gpt2.c
79+ sed -i -e ' s/void layernorm_backward(/void LAYERNORM_BACKWARD_CPU(/g' llm.c/train_gpt2.c
80+ sed -i -e ' s/void matmul_backward(/void MATMUL_BACKWARD_CPU(/g' llm.c/train_gpt2.c
81+ sed -i -e ' s/void attention_backward(/void ATTENTION_BACKWARD_CPU(/g' llm.c/train_gpt2.c
82+ sed -i -e ' s/void gelu_backward(/void GELU_BACKWARD_CPU(/g' llm.c/train_gpt2.c
83+ sed -i -e ' s/void residual_backward(/void RESIDUAL_BACKWARD_CPU(/g' llm.c/train_gpt2.c
84+ sed -i -e ' s/void crossentropy_softmax_backward(/void CROSSENTROPY_SOFTMAX_BACKWARD_CPU(/g' llm.c/train_gpt2.c
85+ grep -q " ^#include \" unittest_kernels.h\" " llm.c/train_gpt2.c || sed -i ' 1i#include \"unittest_kernels.h\"' llm.c/train_gpt2.c
86+ $(CC ) $(CFLAGS ) $(LDFLAGS ) -o $@ llm.c/train_gpt2.c build/unittest_kernels.o
87+
6288build/unittest_kernels.o : unittest_llmc/unittest_kernels.cpp unittest_llmc/unittest_kernels.h kernels.h
6389 mkdir -p build && $(CXX ) $(CXXFLAGS ) -DNDEBUG -c -o $@ $<
6490
0 commit comments