1.4 KiB
1.4 KiB
Developer Guide for sgl-kernel
Development Environment Setup
Use Docker to set up the development environment. See Docker setup guide.
Create and enter development container:
docker run -itd --shm-size 32g --gpus all -v $HOME/.cache:/root/.cache --ipc=host --name sglang_zhyncs lmsysorg/sglang:dev /bin/zsh
docker exec -it sglang_zhyncs /bin/zsh
Project Structure
Dependencies
Third-party libraries:
Kernel Development
Steps to add a new kernel:
- Implement in
sgl-kernel/src/sgl-kernel/csrc - Expose interface in
sgl-kernel/csrc/sgl_kernel_ops.cuwith pybind11 - Create Python wrapper in
sgl-kernel/src/sgl-kernel/ops/__init__.py - Expose Python interface in
sgl-kernel/src/sgl-kernel/__init__.py
Build & Install
Development build:
make build
pip3 install dist/*whl --force-reinstall --no-deps
# Or use: make install (runs pip install -e .)
Testing & Benchmarking
- Add pytest tests in
sgl-kernel/tests/ - Add benchmarks using triton benchmark in
sgl-kernel/benchmark/ - Run test suite