Skip to content

Commit e920ed3

Browse files
authored
Vulkan Intel Fixes, Optimizations and Debugging Flags (#5301)
* Fix Vulkan on Intel ARC Optimize matmul for Intel ARC Add Vulkan dequant test * Add Vulkan debug and validate flags to Make and CMakeLists.txt * Enable asynchronous transfers in Vulkan backend * Fix flake8 * Disable Vulkan async backend functions for now * Also add Vulkan run tests command to Makefile and CMakeLists.txt
1 parent 52bb63c commit e920ed3

File tree

5 files changed

+1882
-10955
lines changed

5 files changed

+1882
-10955
lines changed

CMakeLists.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ option(LLAMA_HIPBLAS "llama: use hipBLAS"
100100
option(LLAMA_HIP_UMA "llama: use HIP unified memory architecture" OFF)
101101
option(LLAMA_CLBLAST "llama: use CLBlast" OFF)
102102
option(LLAMA_VULKAN "llama: use Vulkan" OFF)
103+
option(LLAMA_VULKAN_CHECK_RESULTS "llama: run Vulkan op checks" OFF)
104+
option(LLAMA_VULKAN_DEBUG "llama: enable Vulkan debug output" OFF)
105+
option(LLAMA_VULKAN_VALIDATE "llama: enable Vulkan validation" OFF)
106+
option(LLAMA_VULKAN_RUN_TESTS "llama: run Vulkan tests" OFF)
103107
option(LLAMA_METAL "llama: use Metal" ${LLAMA_METAL_DEFAULT})
104108
option(LLAMA_METAL_NDEBUG "llama: disable Metal debugging" OFF)
105109
option(LLAMA_METAL_SHADER_DEBUG "llama: compile Metal with -fno-fast-math" OFF)
@@ -431,6 +435,22 @@ if (LLAMA_VULKAN)
431435

432436
add_compile_definitions(GGML_USE_VULKAN)
433437

438+
if (LLAMA_VULKAN_CHECK_RESULTS)
439+
target_compile_definitions(ggml-vulkan PRIVATE GGML_VULKAN_CHECK_RESULTS)
440+
endif()
441+
442+
if (LLAMA_VULKAN_DEBUG)
443+
target_compile_definitions(ggml-vulkan PRIVATE GGML_VULKAN_DEBUG)
444+
endif()
445+
446+
if (LLAMA_VULKAN_VALIDATE)
447+
target_compile_definitions(ggml-vulkan PRIVATE GGML_VULKAN_VALIDATE)
448+
endif()
449+
450+
if (LLAMA_VULKAN_RUN_TESTS)
451+
target_compile_definitions(ggml-vulkan PRIVATE GGML_VULKAN_RUN_TESTS)
452+
endif()
453+
434454
set(LLAMA_EXTRA_LIBS ${LLAMA_EXTRA_LIBS} ggml-vulkan)
435455
else()
436456
message(WARNING "Vulkan not found")

Makefile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,18 @@ ifdef LLAMA_VULKAN_CHECK_RESULTS
457457
MK_CPPFLAGS += -DGGML_VULKAN_CHECK_RESULTS
458458
endif
459459

460+
ifdef LLAMA_VULKAN_DEBUG
461+
MK_CPPFLAGS += -DGGML_VULKAN_DEBUG
462+
endif
463+
464+
ifdef LLAMA_VULKAN_VALIDATE
465+
MK_CPPFLAGS += -DGGML_VULKAN_VALIDATE
466+
endif
467+
468+
ifdef LLAMA_VULKAN_RUN_TESTS
469+
MK_CPPFLAGS += -DGGML_VULKAN_RUN_TESTS
470+
endif
471+
460472
ggml-vulkan.o: ggml-vulkan.cpp ggml-vulkan.h
461473
$(CXX) $(CXXFLAGS) -c $< -o $@
462474
endif # LLAMA_VULKAN

0 commit comments

Comments
 (0)