From c9722f22111ce8eebfe354743e1adf89cf1d7b3f Mon Sep 17 00:00:00 2001 From: "Gilad S." Date: Mon, 29 Jun 2026 17:31:33 +0200 Subject: [PATCH] build: fix CI CUDA build --- docs/blog/v3.19-gemma-4.md | 2 +- llama/CMakeLists.txt | 40 +++++++++++++-------------- src/bindings/utils/compileLLamaCpp.ts | 2 ++ 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/blog/v3.19-gemma-4.md b/docs/blog/v3.19-gemma-4.md index da01e730..469e927e 100644 --- a/docs/blog/v3.19-gemma-4.md +++ b/docs/blog/v3.19-gemma-4.md @@ -1,6 +1,6 @@ --- title: Gemma 4 is here! -date: 2026-06-29T17:00:00Z +date: 2026-06-29T18:00:00Z lastUpdated: false author: name: Gilad S. diff --git a/llama/CMakeLists.txt b/llama/CMakeLists.txt index bfeca127..83d29045 100644 --- a/llama/CMakeLists.txt +++ b/llama/CMakeLists.txt @@ -85,28 +85,26 @@ else() set(NLC_GGML_NATIVE ON) endif() -if (DEFINED ENV{CI} AND ENV{CI} STREQUAL "true") - if (GGML_CUDA AND NOT DEFINED CMAKE_CUDA_ARCHITECTURES AND NOT NLC_GGML_NATIVE) - find_package(CUDAToolkit) - if (CUDAToolkit_VERSION VERSION_LESS "13") - list(APPEND CMAKE_CUDA_ARCHITECTURES 50-virtual 61-virtual 70-virtual) - list(APPEND CMAKE_CUDA_ARCHITECTURES 75-virtual 80-virtual 86-real) - - if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.8") - list(APPEND CMAKE_CUDA_ARCHITECTURES 89-real 90-virtual) - endif() - - if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.8") - list(APPEND CMAKE_CUDA_ARCHITECTURES 120a-real) - endif() - if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.9") - list(APPEND CMAKE_CUDA_ARCHITECTURES 121a-real) - endif() - - # Remove `90-virtual` due to low usage and because it inflates the binary size too much - list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES 90-virtual) - message(STATUS "CUDAToolkit version: ${CUDAToolkit_VERSION}, setting CMAKE_CUDA_ARCHITECTURES to ${CMAKE_CUDA_ARCHITECTURES}") +if (NLC_CI_MODE AND GGML_CUDA AND NOT DEFINED CMAKE_CUDA_ARCHITECTURES AND NOT NLC_GGML_NATIVE) + find_package(CUDAToolkit) + if (CUDAToolkit_VERSION VERSION_LESS "13") + list(APPEND CMAKE_CUDA_ARCHITECTURES 50-virtual 61-virtual 70-virtual) + list(APPEND CMAKE_CUDA_ARCHITECTURES 75-virtual 80-virtual 86-real) + + if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "11.8") + list(APPEND CMAKE_CUDA_ARCHITECTURES 89-real 90-virtual) endif() + + if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.8") + list(APPEND CMAKE_CUDA_ARCHITECTURES 120a-real) + endif() + if (CUDAToolkit_VERSION VERSION_GREATER_EQUAL "12.9") + list(APPEND CMAKE_CUDA_ARCHITECTURES 121a-real) + endif() + + # Remove `90-virtual` due to low usage and because it inflates the binary size too much + list(REMOVE_ITEM CMAKE_CUDA_ARCHITECTURES 90-virtual) + message(STATUS "CUDAToolkit version: ${CUDAToolkit_VERSION}, setting CMAKE_CUDA_ARCHITECTURES to ${CMAKE_CUDA_ARCHITECTURES}") endif() endif() diff --git a/src/bindings/utils/compileLLamaCpp.ts b/src/bindings/utils/compileLLamaCpp.ts index 40b6494d..f7588304 100644 --- a/src/bindings/utils/compileLLamaCpp.ts +++ b/src/bindings/utils/compileLLamaCpp.ts @@ -154,6 +154,8 @@ export async function compileLlamaCpp(buildOptions: BuildOptions, compileOptions cmakeCustomOptions.set("GGML_OPENMP", "OFF"); if (ciMode) { + cmakeCustomOptions.set("NLC_CI_MODE", "ON"); + if (!cmakeCustomOptions.has("CMAKE_OSX_DEPLOYMENT_TARGET")) cmakeCustomOptions.set("CMAKE_OSX_DEPLOYMENT_TARGET", "14.0");