Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,11 @@ jobs:
# the build container has no GPU driver. amd64 takes ggml's default
# (broad) arch list; arm64 only targets Grace GPUs (Hopper + GB10).
CUDA='{"variant":"cuda","arch":"amd64","runner":"ubuntu-24.04","build_base":"nvidia/cuda:13.0.1-devel-ubuntu24.04","runtime_base":"nvidia/cuda:13.0.1-runtime-ubuntu24.04","cmake_args":"-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON","cuda_archs":""},{"variant":"cuda","arch":"arm64","runner":"ubuntu-24.04-arm","build_base":"nvidia/cuda:13.0.1-devel-ubuntu24.04","runtime_base":"nvidia/cuda:13.0.1-runtime-ubuntu24.04","cmake_args":"-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON","cuda_archs":"90;121-real"}'
CUDA12='{"variant":"cuda12","arch":"amd64","runner":"ubuntu-24.04","build_base":"nvidia/cuda:12.9.2-devel-ubuntu24.04","runtime_base":"nvidia/cuda:12.9.2-runtime-ubuntu24.04","cmake_args":"-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON","cuda_archs":"70-real;90-real"},{"variant":"cuda12","arch":"arm64","runner":"ubuntu-24.04-arm","build_base":"nvidia/cuda:12.9.2-devel-ubuntu24.04","runtime_base":"nvidia/cuda:12.9.2-runtime-ubuntu24.04","cmake_args":"-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON","cuda_archs":"70-real;90-real"}'
if [ "${{ github.event_name }}" = "pull_request" ]; then
echo "matrix={\"include\":[${CPU}]}" >> "$GITHUB_OUTPUT"
else
echo "matrix={\"include\":[${CPU},${CUDA}]}" >> "$GITHUB_OUTPUT"
echo "matrix={\"include\":[${CPU},${CUDA},${CUDA12}]}" >> "$GITHUB_OUTPUT"
fi

# -------------------------------------------------------------------------
Expand Down Expand Up @@ -180,12 +181,18 @@ jobs:
- image: cli
variant: cuda
suffix: "-cuda"
- image: cli
variant: cuda12
suffix: "-cuda12"
- image: server
variant: cpu
suffix: ""
- image: server
variant: cuda
suffix: "-cuda"
- image: server
variant: cuda12
suffix: "-cuda12"
steps:
- name: Resolve image name
id: img
Expand Down
23 changes: 19 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,12 @@ jobs:
# gens, real code for 86/89/120a, plus 121a for GB10 on CUDA 13).
cmake_args: "-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON"
cuda_archs: ""
- backend: cuda12
arch: x64
runner: ubuntu-24.04
# cuda12.x is the last cuda that supports older GPU families, like Volta.
cmake_args: "-DPARAKEET_GGML_CUDA=ON -DGGML_CUDA_NO_VMM=ON"
cuda_archs: ""
steps:
- name: Checkout (with submodules)
uses: actions/checkout@v4
Expand Down Expand Up @@ -137,12 +143,21 @@ jobs:
sudo apt-get install -y cuda-toolkit-13-0
echo "/usr/local/cuda/bin" >> "$GITHUB_PATH"

- name: Install CUDA toolkit 12
if: matrix.backend == 'cuda12'
run: |
wget -q https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y cuda-toolkit-12-9
echo "/usr/local/cuda/bin" >> "$GITHUB_PATH"

- name: Configure
env:
CUDA_ARCHS: ${{ matrix.cuda_archs }}
run: |
EXTRA=""
if [ "${{ matrix.backend }}" = "cuda" ]; then
if [ "${{ matrix.backend }}" = "cuda" ] || [ "${{ matrix.backend }}" = "cuda12" ]; then
# $ORIGIN rpath so the bundled cudart/cublas next to the binary
# are found without LD_LIBRARY_PATH.
EXTRA="-DCMAKE_BUILD_RPATH=\$ORIGIN"
Expand Down Expand Up @@ -183,7 +198,7 @@ jobs:
mkdir "$BUNDLE"
cp build/examples/cli/parakeet-cli build/examples/server/parakeet-server \
LICENSE README.md "$BUNDLE"/
if [ "${{ matrix.backend }}" = "cuda" ]; then
if [ "${{ matrix.backend }}" = "cuda" ] || [ "${{ matrix.backend }}" = "cuda12" ]; then
cp -P /usr/local/cuda/targets/x86_64-linux/lib/libcudart.so* \
/usr/local/cuda/targets/x86_64-linux/lib/libcublas.so* \
/usr/local/cuda/targets/x86_64-linux/lib/libcublasLt.so* \
Expand Down Expand Up @@ -238,7 +253,7 @@ jobs:
CUDA_ARCHS: ${{ matrix.cuda_archs }}
run: |
EXTRA=""
if [ "${{ matrix.backend }}" = "cuda" ]; then
if [ "${{ matrix.backend }}" = "cuda" ] || [ "${{ matrix.backend }}" = "cuda12" ]; then
EXTRA="-DCMAKE_BUILD_RPATH=\$ORIGIN"
fi
cmake -B build-shared \
Expand All @@ -263,7 +278,7 @@ jobs:
BUNDLE="parakeet-${{ steps.ver.outputs.version }}-lib-linux-${{ matrix.backend }}-${{ matrix.arch }}"
mkdir "$BUNDLE"
cp build-shared/libparakeet.so include/parakeet_capi.h LICENSE README.md "$BUNDLE"/
if [ "${{ matrix.backend }}" = "cuda" ]; then
if [ "${{ matrix.backend }}" = "cuda" ] || [ "${{ matrix.backend }}" = "cuda12" ]; then
cp -P /usr/local/cuda/targets/x86_64-linux/lib/libcudart.so* \
/usr/local/cuda/targets/x86_64-linux/lib/libcublas.so* \
/usr/local/cuda/targets/x86_64-linux/lib/libcublasLt.so* \
Expand Down
Loading