unsloth/studio
Daniel Han f8dc7c9a5c studio: speed up llama.cpp build with Ninja + arch detection
Three improvements to the llama.cpp build step in setup.sh:

1. Detect GPU compute capability via nvidia-smi and limit
   CMAKE_CUDA_ARCHITECTURES to the current GPU. Without this, cmake
   builds for all default CUDA architectures which is very slow.

2. Use Ninja build generator when available. Ninja has better
   parallelism than Make for CUDA compilation.

3. Build both llama-server and llama-quantize targets in a single
   cmake --build invocation for better parallelism.

4. Add --threads=0 to CMAKE_CUDA_FLAGS for multi-threaded nvcc
   compilation.

Measured on 192-core machine with B200 (sm_100):
  Make (all archs):       very slow (minutes for each arch)
  Make (single arch):     1m 37s
  Ninja (single arch):    55s
  Speedup:                ~1.7x

Combined with the uv change, total setup goes from ~4m 35s to ~1m 40s.
2026-03-14 00:54:09 -07:00
..
backend fix(seed): disable remote code execution in seed inspect dataset loads (#4275) 2026-03-13 19:37:43 +04:00
frontend Final cleanup 2026-03-12 18:28:04 +00:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
install_python_stack.py [pre-commit.ci] auto fixes from pre-commit.com hooks 2026-03-14 00:54:09 -07:00
LICENSE.AGPL-3.0 Add AGPL-3.0 license to studio folder 2026-03-09 19:36:25 +00:00
setup.bat Final cleanup 2026-03-12 18:28:04 +00:00
setup.ps1 Final cleanup 2026-03-12 18:28:04 +00:00
setup.sh studio: speed up llama.cpp build with Ninja + arch detection 2026-03-14 00:54:09 -07:00
Unsloth_Studio_Colab.ipynb Final cleanup 2026-03-12 18:28:04 +00:00