ggerganov commited on
Commit
110c8bd
·
unverified ·
1 Parent(s): eae3cdd

make : fix GGML_VULKAN=1 build (#2485)

Browse files
Files changed (1) hide show
  1. Makefile +32 -6
Makefile CHANGED
@@ -134,6 +134,10 @@ ifdef GGML_RPC
134
  BUILD_TARGETS += rpc-server
135
  endif
136
 
 
 
 
 
137
  ifeq ($(shell sdl2-config --cflags --libs 2>/dev/null),)
138
  else
139
  BUILD_TARGETS += \
@@ -624,8 +628,8 @@ endif # GGML_CUDA
624
 
625
  ifdef GGML_VULKAN
626
  MK_CPPFLAGS += -DGGML_USE_VULKAN
627
- MK_LDFLAGS += -lvulkan
628
- OBJ_GGML += ggml/src/ggml-vulkan.o
629
 
630
  ifdef GGML_VULKAN_CHECK_RESULTS
631
  MK_CPPFLAGS += -DGGML_VULKAN_CHECK_RESULTS
@@ -639,6 +643,10 @@ ifdef GGML_VULKAN_MEMORY_DEBUG
639
  MK_CPPFLAGS += -DGGML_VULKAN_MEMORY_DEBUG
640
  endif
641
 
 
 
 
 
642
  ifdef GGML_VULKAN_VALIDATE
643
  MK_CPPFLAGS += -DGGML_VULKAN_VALIDATE
644
  endif
@@ -647,10 +655,28 @@ ifdef GGML_VULKAN_RUN_TESTS
647
  MK_CPPFLAGS += -DGGML_VULKAN_RUN_TESTS
648
  endif
649
 
650
- ggml/src/ggml-vulkan.o: \
651
- ggml/src/ggml-vulkan.cpp \
652
- ggml/include/ggml-vulkan.h
653
- $(CXX) $(CXXFLAGS) -c $< -o $@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
654
  endif # GGML_VULKAN
655
 
656
  ifdef GGML_HIPBLAS
 
134
  BUILD_TARGETS += rpc-server
135
  endif
136
 
137
+ ifdef GGML_VULKAN
138
+ BUILD_TARGETS += vulkan-shaders-gen
139
+ endif
140
+
141
  ifeq ($(shell sdl2-config --cflags --libs 2>/dev/null),)
142
  else
143
  BUILD_TARGETS += \
 
628
 
629
  ifdef GGML_VULKAN
630
  MK_CPPFLAGS += -DGGML_USE_VULKAN
631
+ MK_LDFLAGS += $(shell pkg-config --libs vulkan)
632
+ OBJ_GGML += ggml/src/ggml-vulkan.o ggml/src/ggml-vulkan-shaders.o
633
 
634
  ifdef GGML_VULKAN_CHECK_RESULTS
635
  MK_CPPFLAGS += -DGGML_VULKAN_CHECK_RESULTS
 
643
  MK_CPPFLAGS += -DGGML_VULKAN_MEMORY_DEBUG
644
  endif
645
 
646
+ ifdef GGML_VULKAN_PERF
647
+ MK_CPPFLAGS += -DGGML_VULKAN_PERF
648
+ endif
649
+
650
  ifdef GGML_VULKAN_VALIDATE
651
  MK_CPPFLAGS += -DGGML_VULKAN_VALIDATE
652
  endif
 
655
  MK_CPPFLAGS += -DGGML_VULKAN_RUN_TESTS
656
  endif
657
 
658
+ GLSLC_CMD = glslc
659
+ _ggml_vk_genshaders_cmd = $(shell pwd)/vulkan-shaders-gen
660
+ _ggml_vk_header = ggml/src/ggml-vulkan-shaders.hpp
661
+ _ggml_vk_source = ggml/src/ggml-vulkan-shaders.cpp
662
+ _ggml_vk_input_dir = ggml/src/vulkan-shaders
663
+ _ggml_vk_shader_deps = $(echo $(_ggml_vk_input_dir)/*.comp)
664
+
665
+ ggml/src/ggml-vulkan.o: ggml/src/ggml-vulkan.cpp ggml/include/ggml-vulkan.h $(_ggml_vk_header) $(_ggml_vk_source)
666
+ $(CXX) $(CXXFLAGS) $(shell pkg-config --cflags vulkan) -c $< -o $@
667
+
668
+ $(_ggml_vk_header): $(_ggml_vk_source)
669
+
670
+ $(_ggml_vk_source): $(_ggml_vk_shader_deps) vulkan-shaders-gen
671
+ $(_ggml_vk_genshaders_cmd) \
672
+ --glslc $(GLSLC_CMD) \
673
+ --input-dir $(_ggml_vk_input_dir) \
674
+ --target-hpp $(_ggml_vk_header) \
675
+ --target-cpp $(_ggml_vk_source)
676
+
677
+ vulkan-shaders-gen: ggml/src/vulkan-shaders/vulkan-shaders-gen.cpp
678
+ $(CXX) $(CXXFLAGS) -o $@ $(LDFLAGS) ggml/src/vulkan-shaders/vulkan-shaders-gen.cpp
679
+
680
  endif # GGML_VULKAN
681
 
682
  ifdef GGML_HIPBLAS