Option to enable CUDA LTO

This commit is contained in:
Iwan Kawrakow
2025-11-03 10:34:48 +02:00
parent d890b9fee0
commit a7b427ffc0
2 changed files with 8 additions and 0 deletions

View File

@@ -115,6 +115,7 @@ option(GGML_LLAMAFILE "ggml: use LLAMAFILE"
option(GGML_IQK_MUL_MAT "ggml: use optimized iqk matrix multiplications" ON)
option(GGML_CUDA "ggml: use CUDA" OFF)
option(GGML_CUDA_LTO "ggml: use CUDA LTO" OFF)
option(GGML_MUSA "ggml: use MUSA" OFF)
option(GGML_CUDA_FORCE_DMMV "ggml: use dmmv instead of mmvq CUDA kernels" OFF)
option(GGML_CUDA_FORCE_MMQ "ggml: use mmq kernels instead of cuBLAS" OFF)

View File

@@ -315,6 +315,10 @@ if (GGML_CUDA)
find_package(MUSAToolkit)
set(CUDAToolkit_FOUND ${MUSAToolkit_FOUND})
else()
if (GGML_CUDA_LTO)
set(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
endif()
find_package(CUDAToolkit)
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_INCLUDES 0)
set(CMAKE_CUDA_USE_RESPONSE_FILE_FOR_LIBRARIES 0)
@@ -344,6 +348,9 @@ if (GGML_CUDA)
set(CMAKE_CUDA_COMPILER ${MUSAToolkit_MCC_EXECUTABLE})
else()
enable_language(CUDA)
if (GGML_CUDA_LTO)
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -dlto")
endif()
endif()
file(GLOB GGML_HEADERS_CUDA "ggml-cuda/*.cuh")