[Build] Support build sgl-kernel with ccache (#5020)
This commit is contained in:
@@ -21,6 +21,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
pkg-config \
|
pkg-config \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
bear \
|
bear \
|
||||||
|
ccache \
|
||||||
&& apt install -y rdma-core infiniband-diags openssh-server perftest ibverbs-providers libibumad3 libibverbs1 libnl-3-200 libnl-route-3-200 librdmacm1 \
|
&& apt install -y rdma-core infiniband-diags openssh-server perftest ibverbs-providers libibumad3 libibverbs1 libnl-3-200 libnl-route-3-200 librdmacm1 \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
@@ -44,6 +45,7 @@ RUN python3 -m pip install --no-cache-dir \
|
|||||||
black \
|
black \
|
||||||
isort \
|
isort \
|
||||||
icdiff \
|
icdiff \
|
||||||
|
uv \
|
||||||
pre-commit
|
pre-commit
|
||||||
|
|
||||||
# Install diff-so-fancy
|
# Install diff-so-fancy
|
||||||
|
|||||||
@@ -58,6 +58,14 @@ FetchContent_Declare(
|
|||||||
)
|
)
|
||||||
FetchContent_Populate(repo-flash-attention)
|
FetchContent_Populate(repo-flash-attention)
|
||||||
|
|
||||||
|
# ccache option
|
||||||
|
option(ENABLE_CCACHE "Whether to use ccache" ON)
|
||||||
|
find_program(CCACHE_FOUND ccache)
|
||||||
|
if(CCACHE_FOUND AND ENABLE_CCACHE AND DEFINED ENV{CCACHE_DIR})
|
||||||
|
message(STATUS "Building with CCACHE enabled")
|
||||||
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "ccache")
|
||||||
|
set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "ccache")
|
||||||
|
endif()
|
||||||
|
|
||||||
include_directories(
|
include_directories(
|
||||||
${PROJECT_SOURCE_DIR}/include
|
${PROJECT_SOURCE_DIR}/include
|
||||||
|
|||||||
@@ -144,6 +144,18 @@ Note:
|
|||||||
|
|
||||||
The `sgl-kernel` is rapidly evolving. If you experience a compilation failure, try using `make rebuild`.
|
The `sgl-kernel` is rapidly evolving. If you experience a compilation failure, try using `make rebuild`.
|
||||||
|
|
||||||
|
#### Build with [ccache](https://github.com/ccache/ccache)
|
||||||
|
```bash
|
||||||
|
# or `yum install -y ccache`.
|
||||||
|
apt-get install -y ccache
|
||||||
|
# Building with ccache is enabled when ccache is installed and CCACHE_DIR is set.
|
||||||
|
export CCACHE_DIR=/path/to/your/ccache/dir
|
||||||
|
export CCACHE_BACKEND=""
|
||||||
|
export CCACHE_KEEP_LOCAL_STORAGE="TRUE"
|
||||||
|
unset CCACHE_READONLY
|
||||||
|
python -m uv build --wheel -Cbuild-dir=build --color=always .
|
||||||
|
```
|
||||||
|
|
||||||
### Testing & Benchmarking
|
### Testing & Benchmarking
|
||||||
|
|
||||||
1. Add pytest tests in [tests/](https://github.com/sgl-project/sglang/tree/main/sgl-kernel/tests)
|
1. Add pytest tests in [tests/](https://github.com/sgl-project/sglang/tree/main/sgl-kernel/tests)
|
||||||
|
|||||||
Reference in New Issue
Block a user