llm.c
GPT-2 training implemented in plain C and CUDA with no PyTorch dependency, by Andrej Karpathy.
About
Training GPT-2 in roughly 1,000 lines of clean C is the whole point of llm.c, Andrej Karpathy's systems-level reimplementation of the LLM training loop with no PyTorch or Python dependency. The CPU reference in train_gpt2.c is readable end to end, while the CUDA path adds mixed precision, multi-GPU training over NCCL, and multi-node runs over MPI, with the maintainers measuring it about 7 percent faster than PyTorch Nightly on their benchmarks. The repository reproduces the 124M-parameter GPT-2, and repo discussions document scaled-up runs through the larger GPT-2 sizes on H100 nodes. Getting started means downloading a starter pack of tokenized data and pretrained weights, then compiling with make; meaningful training requires an NVIDIA GPU, though the CPU build runs on a laptop for study. The code is MIT licensed. Around 30,700 GitHub stars and a long list of ports to other languages reflect its role as the reference for understanding what deep learning frameworks actually do during LLM training, one matrix multiplication at a time.
Should you use llm.c?
Pick it when
Pick it when you want to understand exactly what happens in an LLM training step at the level of C and CUDA, or you are a systems engineer studying how to train GPT-2 with no PyTorch or Python in the loop.
Look elsewhere when
It targets GPT-2 and has no fine-tuning workflow for modern open models. To learn in Python, nanoGPT or nanochat are friendlier; to train a model you will actually use, LitGPT is the practical route.
Alternatives to llm.c
- nanoGPT
Same GPT-2 reproduction in about 600 lines of PyTorch, far easier to modify, but it hides the kernels llm.c exposes.
- nanochat
Covers the full chatbot pipeline from tokenizer to web chat UI in Python, where llm.c stops at the pretraining loop.
- LitGPT
PyTorch recipes to pretrain and fine-tune 20+ modern models, for when the goal is a usable model rather than understanding.
Reviews (0)
Leave a Review
No reviews yet. Be the first to review!
Details
- Category
- Model Training & Fine-Tuning
- Price
- Free
- Platform
- Local/Desktop
- Difficulty
- Advanced (4/5)
- License
- MIT
- Added
- Jul 29, 2026