From da70e23218a2373d2d2a689cb72cc1480a8a0169 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sat, 19 Apr 2025 17:53:06 -0400 Subject: [PATCH 01/11] Create build-cuda.yml --- .github/workflows/build-cuda.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/build-cuda.yml diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml new file mode 100644 index 0000000000..1e65184ad3 --- /dev/null +++ b/.github/workflows/build-cuda.yml @@ -0,0 +1,30 @@ +name: Build CUDA Wheel + +on: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.12 + + - name: Install CUDA Toolkit and deps + run: sudo apt update && sudo apt install -y g++-12 ninja-build cmake + + - name: Build CUDA wheel + run: | + export CXX=/usr/bin/g++-12 + CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ + pip wheel . --no-deps --wheel-dir dist + + - name: Upload .whl Artifact + uses: actions/upload-artifact@v3 + with: + name: llama_cpp_cuda_wheel + path: dist/*.whl From 08294457488e21c30a36c9c11dd7b5d4d8c8af45 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sat, 19 Apr 2025 18:03:08 -0400 Subject: [PATCH 02/11] build-cuda.yml --- .github/workflows/build-cuda.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 1e65184ad3..2f42c86448 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -23,8 +23,8 @@ jobs: CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ pip wheel . --no-deps --wheel-dir dist - - name: Upload .whl Artifact - uses: actions/upload-artifact@v3 - with: - name: llama_cpp_cuda_wheel - path: dist/*.whl +- name: Upload .whl Artifact + uses: actions/upload-artifact@v3.1.2 + with: + name: llama_cpp_cuda_wheel + path: dist/*.whl From 022e3a2c2675324fbd8e00fba36d89ac4d4e4798 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sat, 19 Apr 2025 18:05:10 -0400 Subject: [PATCH 03/11] build-cuda.yml --- .github/workflows/build-cuda.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 2f42c86448..8862c7ef24 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -6,16 +6,21 @@ on: jobs: build: runs-on: ubuntu-latest + steps: - - uses: actions/checkout@v3 + - name: Checkout repository + uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: 3.12 - - name: Install CUDA Toolkit and deps - run: sudo apt update && sudo apt install -y g++-12 ninja-build cmake + - name: Install build dependencies + run: | + sudo apt update + sudo apt install -y g++-12 ninja-build cmake python3-pip + python3 -m pip install --upgrade pip - name: Build CUDA wheel run: | @@ -23,8 +28,8 @@ jobs: CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ pip wheel . --no-deps --wheel-dir dist -- name: Upload .whl Artifact - uses: actions/upload-artifact@v3.1.2 - with: - name: llama_cpp_cuda_wheel - path: dist/*.whl + - name: Upload CUDA wheel as artifact + uses: actions/upload-artifact@v3.1.2 + with: + name: llama_cpp_cuda_wheel + path: dist/*.whl From 541a42509791e1b51fcc9a6d3d542d7ea0f32d53 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:09:35 -0400 Subject: [PATCH 04/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 8862c7ef24..8e427953d8 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -29,7 +29,7 @@ jobs: pip wheel . --no-deps --wheel-dir dist - name: Upload CUDA wheel as artifact - uses: actions/upload-artifact@v3.1.2 + uses: actions/upload-artifact@v3 with: name: llama_cpp_cuda_wheel path: dist/*.whl From 027cd934ca41ade468d162803cbe7de5eef28f8c Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:23:58 -0400 Subject: [PATCH 05/11] New build-cuda.yml --- .github/workflows/build-cuda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 8e427953d8..8862c7ef24 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -29,7 +29,7 @@ jobs: pip wheel . --no-deps --wheel-dir dist - name: Upload CUDA wheel as artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v3.1.2 with: name: llama_cpp_cuda_wheel path: dist/*.whl From 73256b724d8cecd133503e4e95700b8ae7a2e8d2 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:32:45 -0400 Subject: [PATCH 06/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 8862c7ef24..5c4162d3d1 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -29,7 +29,7 @@ jobs: pip wheel . --no-deps --wheel-dir dist - name: Upload CUDA wheel as artifact - uses: actions/upload-artifact@v3.1.2 + uses: actions/upload-artifact@v4 with: name: llama_cpp_cuda_wheel path: dist/*.whl From e650e98bcf7c4caed6f1c0ea496adccfec41a840 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:36:25 -0400 Subject: [PATCH 07/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 5c4162d3d1..c4ac26840a 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -8,8 +8,10 @@ jobs: runs-on: ubuntu-latest steps: - - name: Checkout repository + - name: Checkout repository with submodules uses: actions/checkout@v3 + with: + submodules: recursive - name: Set up Python uses: actions/setup-python@v4 @@ -33,3 +35,4 @@ jobs: with: name: llama_cpp_cuda_wheel path: dist/*.whl + From 5bfbc5b16eb2a2a32690c4560d1dd3b0698bb686 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:39:20 -0400 Subject: [PATCH 08/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index c4ac26840a..a5a1fdcc6f 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -18,14 +18,26 @@ jobs: with: python-version: 3.12 - - name: Install build dependencies + - name: Install CUDA Toolkit 12.0 run: | sudo apt update + sudo apt install -y wget gnupg2 lsb-release + wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin + sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 + sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/7fa2af80.pub + sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" + sudo apt update + sudo apt install -y cuda-toolkit-12-0 + + - name: Install build dependencies + run: | sudo apt install -y g++-12 ninja-build cmake python3-pip python3 -m pip install --upgrade pip - name: Build CUDA wheel run: | + export PATH=/usr/local/cuda/bin:$PATH + export CUDAToolkit_ROOT=/usr/local/cuda export CXX=/usr/bin/g++-12 CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ pip wheel . --no-deps --wheel-dir dist @@ -35,4 +47,3 @@ jobs: with: name: llama_cpp_cuda_wheel path: dist/*.whl - From 958bed839fdaa659a4a9b51acac207d3e4628003 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:42:03 -0400 Subject: [PATCH 09/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index a5a1fdcc6f..156a840ad0 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -21,29 +21,6 @@ jobs: - name: Install CUDA Toolkit 12.0 run: | sudo apt update - sudo apt install -y wget gnupg2 lsb-release - wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin - sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 - sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/7fa2af80.pub - sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /" - sudo apt update - sudo apt install -y cuda-toolkit-12-0 - - - name: Install build dependencies - run: | - sudo apt install -y g++-12 ninja-build cmake python3-pip - python3 -m pip install --upgrade pip + sudo apt install -y wget gnupg2 ca-certificates curl software-properties-common - - name: Build CUDA wheel - run: | - export PATH=/usr/local/cuda/bin:$PATH - export CUDAToolkit_ROOT=/usr/local/cuda - export CXX=/usr/bin/g++-12 - CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ - pip wheel . --no-deps --wheel-dir dist - - - name: Upload CUDA wheel as artifact - uses: actions/upload-artifact@v4 - with: - name: llama_cpp_cuda_wheel - path: dist/*.whl + curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/7fa2af80.pub \ From 98ecb5b0b6f39aea18a568b8aaf9feb3d7bd8bb0 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:45:00 -0400 Subject: [PATCH 10/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index 156a840ad0..b5fc06649e 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -18,9 +18,36 @@ jobs: with: python-version: 3.12 - - name: Install CUDA Toolkit 12.0 + - name: Install CUDA Toolkit 12.0 for Ubuntu 24.04 run: | sudo apt update sudo apt install -y wget gnupg2 ca-certificates curl software-properties-common - curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/7fa2af80.pub \ + # Add NVIDIA GPG key using new secure method + curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-archive-keyring.gpg \ + | sudo tee /usr/share/keyrings/cuda-archive-keyring.gpg > /dev/null + + echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/ /" \ + | sudo tee /etc/apt/sources.list.d/cuda.list > /dev/null + + sudo apt update + sudo apt install -y cuda-toolkit-12-0 + + - name: Install build dependencies + run: | + sudo apt install -y g++-12 ninja-build cmake python3-pip + python3 -m pip install --upgrade pip + + - name: Build CUDA wheel + run: | + export PATH=/usr/local/cuda/bin:$PATH + export CUDAToolkit_ROOT=/usr/local/cuda + export CXX=/usr/bin/g++-12 + CMAKE_ARGS="-DLLAMA_CUDA=on -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-12 -DCMAKE_CUDA_ARCHITECTURES=89" \ + pip wheel . --no-deps --wheel-dir dist + + - name: Upload CUDA wheel as artifact + uses: actions/upload-artifact@v4 + with: + name: llama_cpp_cuda_wheel + path: dist/*.whl From 7f4bb93d3ea29d27c97d8f50762334c52240b904 Mon Sep 17 00:00:00 2001 From: player2121 <62554566+player2121@users.noreply.github.com> Date: Sun, 20 Apr 2025 00:47:06 -0400 Subject: [PATCH 11/11] Update build-cuda.yml --- .github/workflows/build-cuda.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-cuda.yml b/.github/workflows/build-cuda.yml index b5fc06649e..5a7285924c 100644 --- a/.github/workflows/build-cuda.yml +++ b/.github/workflows/build-cuda.yml @@ -18,20 +18,20 @@ jobs: with: python-version: 3.12 - - name: Install CUDA Toolkit 12.0 for Ubuntu 24.04 + - name: Install CUDA Toolkit on Ubuntu 24.04 run: | sudo apt update sudo apt install -y wget gnupg2 ca-certificates curl software-properties-common - # Add NVIDIA GPG key using new secure method + # Add NVIDIA GPG key securely curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-archive-keyring.gpg \ - | sudo tee /usr/share/keyrings/cuda-archive-keyring.gpg > /dev/null + | sudo tee /usr/share/keyrings/cuda-archive-keyring.gpg > /dev/null echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/ /" \ - | sudo tee /etc/apt/sources.list.d/cuda.list > /dev/null + | sudo tee /etc/apt/sources.list.d/cuda.list > /dev/null sudo apt update - sudo apt install -y cuda-toolkit-12-0 + sudo apt install -y cuda - name: Install build dependencies run: |