@@ -171,6 +171,7 @@ jobs:
171171 matrix :
172172 python-version : ['3.10', '3.12']
173173 env :
174+ BUILD_WITH_EP : " 1"
174175 SCCACHE_GHA_ENABLED : " true"
175176
176177 steps :
@@ -193,7 +194,8 @@ jobs:
193194 cuda : ' 12.8.1'
194195 linux-local-args : ' ["--toolkit"]'
195196 method : ' network'
196- sub-packages : ' ["nvcc"]'
197+ sub-packages : ' ["nvcc", "nvrtc-dev"]'
198+ non-cuda-sub-packages : ' ["libcusparse-dev", "libcublas-dev", "libcusolver-dev"]'
197199
198200 - name : Run sccache-cache
199201 uses : mozilla-actions/sccache-action@v0.0.9
@@ -213,6 +215,7 @@ jobs:
213215 run : |
214216 sudo apt update -y
215217 sudo bash -x dependencies.sh -y
218+ pip install torch==2.8.0
216219 shell : bash
217220
218221 - name : Build transfer engine only
@@ -231,7 +234,7 @@ jobs:
231234 run : |
232235 mkdir build
233236 cd build
234- cmake .. -DUSE_ETCD=ON -DUSE_REDIS=ON -DUSE_HTTP=ON -DWITH_STORE=ON -DWITH_P2P_STORE=ON -DWITH_METRICS=ON -DBUILD_UNIT_TESTS=ON -DBUILD_EXAMPLES=ON -DENABLE_SCCACHE=ON -DUSE_CUDA=OFF -DUSE_MNNVL=OFF -DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/cuda/lib64/stubs"
237+ cmake .. -DUSE_ETCD=ON -DUSE_REDIS=ON -DUSE_HTTP=ON -DWITH_STORE=ON -DWITH_P2P_STORE=ON -DWITH_EP=ON - DWITH_METRICS=ON -DBUILD_UNIT_TESTS=ON -DBUILD_EXAMPLES=ON -DENABLE_SCCACHE=ON -DUSE_CUDA=OFF -DUSE_MNNVL=OFF -DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/cuda/lib64/stubs"
235238 shell : bash
236239 # TODO: lack USE_NVMEOF,USE_CUDA,USE_MNNVL
237240
@@ -259,7 +262,8 @@ jobs:
259262 - name : Configure project
260263 run : |
261264 cd build
262- cmake .. -DUSE_HTTP=ON -DENABLE_SCCACHE=ON
265+ rm -r */tests
266+ cmake .. -DBUILD_UNIT_TESTS=OFF -DBUILD_EXAMPLES=OFF -DUSE_HTTP=ON -DENABLE_SCCACHE=ON
263267 shell : bash
264268
265269 - name : Build project
@@ -294,100 +298,6 @@ jobs:
294298 name : mooncake-wheel-ubuntu-py${{ steps.generate_tag_flags.outputs.python_version_tag }}
295299 path : mooncake-wheel/dist-py${{ steps.generate_tag_flags.outputs.python_version_tag }}/*.whl
296300
297- build-with-ep :
298- runs-on : ubuntu-22.04
299- strategy :
300- matrix :
301- python-version : ['3.10', '3.12']
302- env :
303- BUILD_WITH_EP : " 1"
304- SCCACHE_GHA_ENABLED : " true"
305- SCCACHE_CACHE_SIZE : " 2G"
306-
307- steps :
308- - uses : actions/checkout@v4
309-
310- - name : Set up Python ${{ matrix.python-version }}
311- uses : actions/setup-python@v5
312- with :
313- python-version : ${{ matrix.python-version }}
314-
315- - name : Free up disk space
316- run : |
317- sudo rm -rf /usr/share/dotnet
318- sudo rm -rf /opt/ghc
319- sudo rm -rf /opt/hostedtoolcache/CodeQL
320-
321- - name : Install CUDA Toolkit
322- uses : Jimver/cuda-toolkit@v0.2.24
323- with :
324- cuda : ' 12.8.1'
325- linux-local-args : ' ["--toolkit"]'
326- method : ' network'
327- sub-packages : ' ["nvcc", "nvrtc-dev"]'
328- non-cuda-sub-packages : ' ["libcusparse-dev", "libcublas-dev", "libcusolver-dev"]'
329-
330- - name : Run sccache-cache
331- uses : mozilla-actions/sccache-action@v0.0.9
332-
333- - name : Configure sccache
334- uses : actions/github-script@v7
335- with :
336- script : |
337- core.exportVariable('ACTIONS_RESULTS_URL', process.env.ACTIONS_RESULTS_URL || '');
338- core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
339-
340- - name : Run sccache stat for check
341- shell : bash
342- run : ${SCCACHE_PATH} --show-stats
343-
344- - name : Install dependencies
345- run : |
346- sudo apt update -y
347- sudo bash -x dependencies.sh -y
348- pip install toml-cli # for updating the version
349- pip install --no-cache-dir torch==2.8.0
350- shell : bash
351-
352- - name : Build transfer engine with EP
353- run : |
354- mkdir build
355- cd build
356- export PATH=/usr/local/nvidia/bin:/usr/local/nvidia/lib64:$PATH
357- export LIBRARY_PATH=/usr/local/cuda/lib64/stubs:LIBRARY_PATH
358- export LD_LIBRARY_PATH=/usr/local/cuda/lib64/stubs:$LD_LIBRARY_PATH
359- cmake .. -DUSE_ETCD=ON -DUSE_REDIS=ON -DUSE_HTTP=ON -DWITH_STORE=ON -DWITH_P2P_STORE=ON -DWITH_EP=ON -DWITH_METRICS=ON -DBUILD_UNIT_TESTS=ON -DBUILD_EXAMPLES=ON -DENABLE_SCCACHE=ON -DUSE_CUDA=ON -DUSE_MNNVL=OFF -DCMAKE_EXE_LINKER_FLAGS="-L/usr/local/cuda/lib64/stubs"
360- make -j
361- sudo make install
362- shell : bash
363-
364- - name : Build nvlink_allocator.so
365- run : |
366- mkdir -p build/mooncake-transfer-engine/nvlink-allocator
367- cd mooncake-transfer-engine/nvlink-allocator
368- bash build.sh --ci-build ../../build/mooncake-transfer-engine/nvlink-allocator/
369- shell : bash
370-
371- - name : Generate Python version tag
372- id : generate_tag_flags
373- run : |
374- echo "python_version_tag=$(echo ${{ matrix.python-version }} | tr -d '.')" >> $GITHUB_OUTPUT
375- shell : bash
376-
377- - name : Build Python wheel
378- run : |
379- BASE_VERSION=$(toml get --toml-path mooncake-wheel/pyproject.toml project.version | tr -d '"')
380- toml set --toml-path mooncake-wheel/pyproject.toml project.version "${BASE_VERSION}+ep"
381- # Build wheel with specific Python version
382- PYTHON_VERSION=${{ matrix.python-version }} OUTPUT_DIR=dist-py${{ steps.generate_tag_flags.outputs.python_version_tag }} ./scripts/build_wheel.sh
383- shell : bash
384-
385- - name : Upload Python wheel artifact
386- uses : actions/upload-artifact@v4
387- with :
388- name : mooncake-wheel-ubuntu-py${{ steps.generate_tag_flags.outputs.python_version_tag }}+ep
389- path : mooncake-wheel/dist-py${{ steps.generate_tag_flags.outputs.python_version_tag }}/*.whl
390-
391301 build-docker :
392302 name : Build Docker Image
393303 runs-on : ubuntu-22.04
0 commit comments