Skip to content

Commit 3c1532e

Browse files
committed
make,cmake : fix LLAMA_CUDA + replace GGML_CDEF_PRIVATE
ggml-ci
1 parent af421ca commit 3c1532e

File tree

3 files changed

+49
-46
lines changed

3 files changed

+49
-46
lines changed

Makefile

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,12 @@ ifndef UNAME_M
148148
UNAME_M := $(shell uname -m)
149149
endif
150150

151+
MK_CFLAGS += -O3
152+
MK_CXXFLAGS += -O3
153+
ifndef LLAMA_DEBUG
154+
MK_NVCCFLAGS += -O3
155+
endif # LLAMA_DEBUG
156+
151157
# In GNU make default CXX is g++ instead of c++. Let's fix that so that users
152158
# of non-gcc compilers don't have to provide g++ alias or wrapper.
153159
DEFCC := cc
@@ -859,7 +865,7 @@ override NVCCFLAGS := $(MK_NVCCFLAGS) $(NVCCFLAGS)
859865
override LDFLAGS := $(MK_LDFLAGS) $(LDFLAGS)
860866

861867
# identify CUDA host compiler
862-
ifdef LLAMA_CUDA
868+
ifdef GGML_CUDA
863869
GF_CC := $(NVCC) $(NVCCFLAGS) 2>/dev/null .c -Xcompiler
864870
include scripts/get-flags.mk
865871
CUDA_CXXFLAGS := $(BASE_CXXFLAGS) $(GF_CXXFLAGS) -Wno-pedantic
@@ -884,7 +890,7 @@ $(info I NVCCFLAGS: $(NVCCFLAGS))
884890
$(info I LDFLAGS: $(LDFLAGS))
885891
$(info I CC: $(shell $(CC) --version | head -n 1))
886892
$(info I CXX: $(shell $(CXX) --version | head -n 1))
887-
ifdef LLAMA_CUDA
893+
ifdef GGML_CUDA
888894
$(info I NVCC: $(shell $(NVCC) --version | tail -n 1))
889895
CUDA_VERSION := $(shell $(NVCC) --version | grep -oP 'release (\K[0-9]+\.[0-9])')
890896
ifeq ($(shell awk -v "v=$(CUDA_VERSION)" 'BEGIN { print (v < 11.7) }'),1)
@@ -896,7 +902,7 @@ endif # CUDA_POWER_ARCH
896902
endif # CUDA_DOCKER_ARCH
897903

898904
endif # eq ($(shell echo "$(CUDA_VERSION) < 11.7" | bc),1)
899-
endif # LLAMA_CUDA
905+
endif # GGML_CUDA
900906
$(info )
901907

902908
ifdef DEPRECATE_WARNING

docs/BLIS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Makefile:
3131

3232
```bash
3333
make GGML_BLIS=1 -j
34-
# make GGML_BLIS=1 benchmark-matmult
34+
# make GGML_BLIS=1 llama-benchmark-matmult
3535
```
3636

3737
CMake:

ggml/src/CMakeLists.txt

Lines changed: 39 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
include(CheckCXXCompilerFlag)
22

3-
unset(GGML_CDEF_PRIVATE)
43
unset(GGML_CDEF_PUBLIC)
54

6-
list(APPEND GGML_CDEF_PRIVATE GGML_SCHED_MAX_COPIES=${GGML_SCHED_MAX_COPIES})
5+
add_compile_definitions(GGML_SCHED_MAX_COPIES=${GGML_SCHED_MAX_COPIES})
76

87
# enable libstdc++ assertions for debug builds
98
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
@@ -32,9 +31,9 @@ if (APPLE AND GGML_ACCELERATE)
3231
if (ACCELERATE_FRAMEWORK)
3332
message(STATUS "Accelerate framework found")
3433

35-
list(APPEND GGML_CDEF_PRIVATE GGML_USE_ACCELERATE)
36-
list(APPEND GGML_CDEF_PRIVATE ACCELERATE_NEW_LAPACK)
37-
list(APPEND GGML_CDEF_PRIVATE ACCELERATE_LAPACK_ILP64)
34+
add_compile_definitions(GGML_USE_ACCELERATE)
35+
add_compile_definitions(ACCELERATE_NEW_LAPACK)
36+
add_compile_definitions(ACCELERATE_LAPACK_ILP64)
3837

3938
set(GGML_EXTRA_LIBS ${GGML_EXTRA_LIBS} ${ACCELERATE_FRAMEWORK})
4039
else()
@@ -53,7 +52,7 @@ if (GGML_METAL)
5352

5453
list(APPEND GGML_CDEF_PUBLIC GGML_USE_METAL)
5554
if (GGML_METAL_NDEBUG)
56-
list(APPEND GGML_CDEF_PRIVATE GGML_METAL_NDEBUG)
55+
add_compile_definitions(GGML_METAL_NDEBUG)
5756
endif()
5857

5958
# copy ggml-common.h and ggml-metal.metal to bin directory
@@ -63,7 +62,7 @@ if (GGML_METAL)
6362
if (GGML_METAL_EMBED_LIBRARY)
6463
enable_language(ASM)
6564

66-
list(APPEND GGML_CDEF_PRIVATE GGML_METAL_EMBED_LIBRARY)
65+
add_compile_definitions(GGML_METAL_EMBED_LIBRARY)
6766

6867
set(METALLIB_COMMON "${CMAKE_CURRENT_SOURCE_DIR}/ggml-common.h")
6968
set(METALLIB_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/ggml-metal.metal")
@@ -145,7 +144,7 @@ if (GGML_OPENMP)
145144
if (OpenMP_FOUND)
146145
message(STATUS "OpenMP found")
147146

148-
list(APPEND GGML_CDEF_PRIVATE GGML_USE_OPENMP)
147+
add_compile_definitions(GGML_USE_OPENMP)
149148

150149
set(GGML_EXTRA_LIBS ${GGML_EXTRA_LIBS} OpenMP::OpenMP_C OpenMP::OpenMP_CXX)
151150
else()
@@ -223,7 +222,7 @@ if (GGML_BLAS)
223222
list(APPEND GGML_CDEF_PUBLIC GGML_USE_BLAS)
224223

225224
if (${BLAS_INCLUDE_DIRS} MATCHES "mkl" AND (${GGML_BLAS_VENDOR} MATCHES "Generic" OR ${GGML_BLAS_VENDOR} MATCHES "Intel"))
226-
list(APPEND GGML_CDEF_PRIVATE GGML_BLAS_USE_MKL)
225+
add_compile_definitions(GGML_BLAS_USE_MKL)
227226
endif()
228227

229228
set(GGML_HEADERS_BLAS ggml-blas.h)
@@ -241,7 +240,7 @@ endif()
241240
if (GGML_LLAMAFILE)
242241
message(STATUS "Using ggml SGEMM")
243242

244-
list(APPEND GGML_CDEF_PRIVATE GGML_USE_LLAMAFILE)
243+
add_compile_definitions(GGML_USE_LLAMAFILE)
245244

246245
set(GGML_HEADERS_LLAMAFILE sgemm.h)
247246
set(GGML_SOURCES_LLAMAFILE sgemm.cpp)
@@ -284,7 +283,7 @@ if (GGML_CUDA)
284283
if (GGML_CUDA_FA_ALL_QUANTS)
285284
file(GLOB SRCS "ggml-cuda/template-instances/fattn-vec*.cu")
286285
list(APPEND GGML_SOURCES_CUDA ${SRCS})
287-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FA_ALL_QUANTS)
286+
add_compile_definitions(GGML_CUDA_FA_ALL_QUANTS)
288287
else()
289288
file(GLOB SRCS "ggml-cuda/template-instances/fattn-vec*q4_0-q4_0.cu")
290289
list(APPEND GGML_SOURCES_CUDA ${SRCS})
@@ -296,38 +295,38 @@ if (GGML_CUDA)
296295

297296
list(APPEND GGML_CDEF_PUBLIC GGML_USE_CUDA)
298297

299-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_USE_GRAPHS)
300-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_DMMV_X=${GGML_CUDA_DMMV_X})
301-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_MMV_Y=${GGML_CUDA_MMV_Y})
302-
list(APPEND GGML_CDEF_PRIVATE K_QUANTS_PER_ITERATION=${GGML_CUDA_KQUANTS_ITER})
303-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_PEER_MAX_BATCH_SIZE=${GGML_CUDA_PEER_MAX_BATCH_SIZE})
298+
add_compile_definitions(GGML_CUDA_USE_GRAPHS)
299+
add_compile_definitions(GGML_CUDA_DMMV_X=${GGML_CUDA_DMMV_X})
300+
add_compile_definitions(GGML_CUDA_MMV_Y=${GGML_CUDA_MMV_Y})
301+
add_compile_definitions(K_QUANTS_PER_ITERATION=${GGML_CUDA_KQUANTS_ITER})
302+
add_compile_definitions(GGML_CUDA_PEER_MAX_BATCH_SIZE=${GGML_CUDA_PEER_MAX_BATCH_SIZE})
304303

305304
if (GGML_CUDA_FORCE_DMMV)
306-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FORCE_DMMV)
305+
add_compile_definitions(GGML_CUDA_FORCE_DMMV)
307306
endif()
308307

309308
if (GGML_CUDA_FORCE_MMQ)
310-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FORCE_MMQ)
309+
add_compile_definitions(GGML_CUDA_FORCE_MMQ)
311310
endif()
312311

313312
if (GGML_CUDA_FORCE_CUBLAS)
314313
add_compile_definitions(GGML_CUDA_FORCE_CUBLAS)
315314
endif()
316315

317316
if (GGML_CUDA_NO_VMM)
318-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_NO_VMM)
317+
add_compile_definitions(GGML_CUDA_NO_VMM)
319318
endif()
320319

321320
if (DEFINED GGML_CUDA_DMMV_Y)
322-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_MMV_Y=${GGML_CUDA_DMMV_Y}) # for backwards compatibility
321+
add_compile_definitions(GGML_CUDA_MMV_Y=${GGML_CUDA_DMMV_Y}) # for backwards compatibility
323322
endif()
324323

325324
if (GGML_CUDA_F16 OR GGML_CUDA_DMMV_F16)
326-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_F16)
325+
add_compile_definitions(GGML_CUDA_F16)
327326
endif()
328327

329328
if (GGML_CUDA_NO_PEER_COPY)
330-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_NO_PEER_COPY)
329+
add_compile_definitions(GGML_CUDA_NO_PEER_COPY)
331330
endif()
332331

333332
if (GGML_STATIC)
@@ -409,7 +408,7 @@ if (GGML_HIPBLAS)
409408
if (GGML_CUDA_FA_ALL_QUANTS)
410409
file(GLOB SRCS "ggml-cuda/template-instances/fattn-vec*.cu")
411410
list(APPEND GGML_SOURCES_ROCM ${SRCS})
412-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FA_ALL_QUANTS)
411+
add_compile_definitions(GGML_CUDA_FA_ALL_QUANTS)
413412
else()
414413
file(GLOB SRCS "ggml-cuda/template-instances/fattn-vec*q4_0-q4_0.cu")
415414
list(APPEND GGML_SOURCES_ROCM ${SRCS})
@@ -421,25 +420,25 @@ if (GGML_HIPBLAS)
421420

422421
list(APPEND GGML_CDEF_PUBLIC GGML_USE_CUDA)
423422

424-
list(APPEND GGML_CDEF_PRIVATE GGML_USE_HIPBLAS)
425-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_DMMV_X=${GGML_CUDA_DMMV_X})
426-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_MMV_Y=${GGML_CUDA_MMV_Y})
427-
list(APPEND GGML_CDEF_PRIVATE K_QUANTS_PER_ITERATION=${GGML_CUDA_KQUANTS_ITER})
423+
add_compile_definitions(GGML_USE_HIPBLAS)
424+
add_compile_definitions(GGML_CUDA_DMMV_X=${GGML_CUDA_DMMV_X})
425+
add_compile_definitions(GGML_CUDA_MMV_Y=${GGML_CUDA_MMV_Y})
426+
add_compile_definitions(K_QUANTS_PER_ITERATION=${GGML_CUDA_KQUANTS_ITER})
428427

429428
if (GGML_HIP_UMA)
430-
list(APPEND GGML_CDEF_PRIVATE GGML_HIP_UMA)
429+
add_compile_definitions(GGML_HIP_UMA)
431430
endif()
432431

433432
if (GGML_CUDA_FORCE_DMMV)
434-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FORCE_DMMV)
433+
add_compile_definitions(GGML_CUDA_FORCE_DMMV)
435434
endif()
436435

437436
if (GGML_CUDA_FORCE_MMQ)
438-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_FORCE_MMQ)
437+
add_compile_definitions(GGML_CUDA_FORCE_MMQ)
439438
endif()
440439

441440
if (GGML_CUDA_NO_PEER_COPY)
442-
list(APPEND GGML_CDEF_PRIVATE GGML_CUDA_NO_PEER_COPY)
441+
add_compile_definitions(GGML_CUDA_NO_PEER_COPY)
443442
endif()
444443

445444
if (CXX_IS_HIPCC)
@@ -474,11 +473,11 @@ if (GGML_SYCL)
474473
list(APPEND GGML_CDEF_PUBLIC GGML_USE_SYCL)
475474

476475
if (GGML_SYCL_F16)
477-
list(APPEND GGML_CDEF_PRIVATE GGML_SYCL_F16)
476+
add_compile_definitions(GGML_SYCL_F16)
478477
endif()
479478

480479
if (GGML_CUDA_FORCE_MMQ)
481-
list(APPEND GGML_CDEF_PRIVATE GGML_SYCL_FORCE_MMQ)
480+
add_compile_definitions(GGML_SYCL_FORCE_MMQ)
482481
endif()
483482

484483
add_compile_options(-I./) #include DPCT
@@ -540,23 +539,23 @@ if (GGML_VULKAN)
540539
endif()
541540

542541
if (GGML_VULKAN_CHECK_RESULTS)
543-
list(APPEND GGML_CDEF_PRIVATE GGML_VULKAN_CHECK_RESULTS)
542+
add_compile_definitions(GGML_VULKAN_CHECK_RESULTS)
544543
endif()
545544

546545
if (GGML_VULKAN_DEBUG)
547-
list(APPEND GGML_CDEF_PRIVATE GGML_VULKAN_DEBUG)
546+
add_compile_definitions(GGML_VULKAN_DEBUG)
548547
endif()
549548

550549
if (GGML_VULKAN_MEMORY_DEBUG)
551-
list(APPEND GGML_CDEF_PRIVATE GGML_VULKAN_MEMORY_DEBUG)
550+
add_compile_definitions(GGML_VULKAN_MEMORY_DEBUG)
552551
endif()
553552

554553
if (GGML_VULKAN_VALIDATE)
555-
list(APPEND GGML_CDEF_PRIVATE GGML_VULKAN_VALIDATE)
554+
add_compile_definitions(GGML_VULKAN_VALIDATE)
556555
endif()
557556

558557
if (GGML_VULKAN_RUN_TESTS)
559-
list(APPEND GGML_CDEF_PRIVATE GGML_VULKAN_RUN_TESTS)
558+
add_compile_definitions(GGML_VULKAN_RUN_TESTS)
560559
endif()
561560

562561
set(GGML_EXTRA_LIBS ${GGML_EXTRA_LIBS} Vulkan::Vulkan)
@@ -730,7 +729,7 @@ if (GGML_CPU_HBM)
730729

731730
message(STATUS "Using memkind for CPU HBM")
732731

733-
list(APPEND GGML_CDEF_PRIVATE GGML_USE_CPU_HBM)
732+
add_compile_definitions(GGML_USE_CPU_HBM)
734733

735734
target_link_libraries(ggml PUBLIC memkind)
736735
endif()
@@ -874,7 +873,7 @@ execute_process(
874873
)
875874

876875
if (output MATCHES "dyld-1015\.7")
877-
list(APPEND GGML_CDEF_PRIVATE HAVE_BUGGY_APPLE_LINKER)
876+
add_compile_definitions(HAVE_BUGGY_APPLE_LINKER)
878877
endif()
879878

880879
# architecture specific
@@ -1156,8 +1155,6 @@ if (EMSCRIPTEN)
11561155
endif()
11571156

11581157
target_compile_definitions(ggml PUBLIC ${GGML_CDEF_PUBLIC})
1159-
target_compile_definitions(ggml PRIVATE ${GGML_CDEF_PRIVATE})
1160-
11611158
target_include_directories(ggml PUBLIC . ../include ${GGML_EXTRA_INCLUDES})
11621159
target_compile_features (ggml PUBLIC c_std_11) # don't bump
11631160

0 commit comments

Comments
 (0)