From f64366902f17292eb15cc9832bce70694bac95fc Mon Sep 17 00:00:00 2001 From: Won-Kyu Park Date: Thu, 8 Feb 2024 16:14:04 +0900 Subject: [PATCH] CI: use MSVC instead msbuild to remove 'visual_stuido_integration' dependency * use Ninja to compile without MS toolset --- .github/workflows/python-package.yml | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index a7b825b34..bf02d9320 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -41,9 +41,10 @@ jobs: uses: jwlawson/actions-setup-cmake@v1.14 with: cmake-version: '3.26.x' - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 - if: ${{ startsWith(matrix.os, 'windows') }} + - name: Setup MSVC + if: startsWith(matrix.os, 'windows') + #uses: microsoft/setup-msbuild@v1.1 # to use msbuild + uses: ilammy/msvc-dev-cmd@v1.13.0 # to use cl # Compile C++ code - name: Build C++ shell: bash @@ -60,11 +61,7 @@ jobs: else cmake -DCOMPUTE_BACKEND=cpu . fi - if [ ${build_os:0:7} == windows ]; then - pwsh -Command "msbuild bitsandbytes.vcxproj /property:Configuration=Release" - else - make - fi + cmake --build . --config Release mkdir -p output/${{ matrix.os }}/${{ matrix.arch }} ( shopt -s nullglob && cp bitsandbytes/*.{so,dylib,dll} output/${{ matrix.os }}/${{ matrix.arch }}/ ) - name: Upload build artifact @@ -109,9 +106,10 @@ jobs: sub-packages: '["nvcc","cudart","cusparse","cublas","thrust","nvrtc_dev","cublas_dev","cusparse_dev"]' linux-local-args: '["--toolkit"]' use-github-cache: false - - name: Add msbuild to PATH - uses: microsoft/setup-msbuild@v1.1 - if: ${{ startsWith(matrix.os, 'windows') }} + - name: Setup MSVC + if: startsWith(matrix.os, 'windows') + #uses: microsoft/setup-msbuild@v1.1 # to use msbuild + uses: ilammy/msvc-dev-cmd@v1.13.0 # to use cl # Compile C++ code - name: Build C++ shell: bash @@ -127,10 +125,11 @@ jobs: "apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cmake \ && cmake -DCOMPUTE_BACKEND=cuda -DNO_CUBLASLT=${NO_CUBLASLT} . \ - && make" + && cmake --build ." else - cmake -DCOMPUTE_BACKEND=cuda -DNO_CUBLASLT=${NO_CUBLASLT} . - pwsh -Command "msbuild bitsandbytes.vcxproj /property:Configuration=Release" + python3 -m pip install cmake==3.27.9 ninja + cmake -G Ninja -DCOMPUTE_BACKEND=cuda -DNO_CUBLASLT=${NO_CUBLASLT} -DCMAKE_BUILD_TYPE=Release -S . + cmake --build . --config Release fi done mkdir -p output/${{ matrix.os }}/${{ matrix.arch }}