From 28b35ca87910441c953c58ecc25f1a9158757fb7 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Tue, 10 Jun 2025 01:23:48 +0800 Subject: [PATCH] allow wmma flag for rocm --- .github/workflows/kcpp-build-release-linux-rocm.yaml | 1 - Makefile | 8 +++++--- koboldcpp.sh | 10 +++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.github/workflows/kcpp-build-release-linux-rocm.yaml b/.github/workflows/kcpp-build-release-linux-rocm.yaml index 96b0a641a..3010a31d1 100644 --- a/.github/workflows/kcpp-build-release-linux-rocm.yaml +++ b/.github/workflows/kcpp-build-release-linux-rocm.yaml @@ -12,7 +12,6 @@ env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} KCPP_CUDA: rocm ARCHES_CU12: 1 - NO_WMMA: 1 jobs: linux: diff --git a/Makefile b/Makefile index 828f511a2..681720a45 100644 --- a/Makefile +++ b/Makefile @@ -256,13 +256,15 @@ else HCC := $(ROCM_PATH)/llvm/bin/clang HCXX := $(ROCM_PATH)/llvm/bin/clang++ endif -ifdef LLAMA_NO_WMMA - HIPFLAGS += -DGGML_HIP_NO_ROCWMMA_FATTN -else +ifdef LLAMA_ALLOW_WMMA DETECT_ROCWMMA := $(shell find -L /opt/rocm/include /usr/include -type f -name rocwmma.hpp 2>/dev/null | head -n 1) ifdef DETECT_ROCWMMA HIPFLAGS += -DGGML_HIP_ROCWMMA_FATTN -I$(dir $(DETECT_ROCWMMA)) +else + HIPFLAGS += -DGGML_HIP_NO_ROCWMMA_FATTN endif +else + HIPFLAGS += -DGGML_HIP_NO_ROCWMMA_FATTN endif HIPFLAGS += -DGGML_USE_HIP -DGGML_HIP_NO_VMM -DGGML_USE_CUDA -DSD_USE_CUDA $(shell $(ROCM_PATH)/bin/hipconfig -C) diff --git a/koboldcpp.sh b/koboldcpp.sh index 508cd0f30..3af6d3844 100755 --- a/koboldcpp.sh +++ b/koboldcpp.sh @@ -29,7 +29,7 @@ KCPP_CUDAAPPEND=-cuda${KCPP_CUDA//.}$KCPP_APPEND LLAMA_NOAVX2_FLAG="" ARCHES_FLAG="" -NO_WMMA_FLAG="" +ALLOW_WMMA_FLAG="" if [ -n "$NOAVX2" ]; then LLAMA_NOAVX2_FLAG="LLAMA_NOAVX2=1" fi @@ -39,14 +39,14 @@ fi if [ -n "$ARCHES_CU12" ]; then ARCHES_FLAG="LLAMA_ARCHES_CU12=1" fi -if [ -n "$NO_WMMA" ]; then - NO_WMMA_FLAG="LLAMA_NO_WMMA=1" +if [ -n "$ALLOW_WMMA" ]; then + ALLOW_WMMA_FLAG="LLAMA_ALLOW_WMMA=1" fi if [ "$KCPP_CUDA" = "rocm" ]; then - bin/micromamba run -r conda -p conda/envs/linux make -j$(nproc) LLAMA_VULKAN=1 LLAMA_CLBLAST=1 LLAMA_HIPBLAS=1 LLAMA_PORTABLE=1 LLAMA_USE_BUNDLED_GLSLC=1 LLAMA_ADD_CONDA_PATHS=1 $LLAMA_NOAVX2_FLAG $ARCHES_FLAG $NO_WMMA_FLAG + bin/micromamba run -r conda -p conda/envs/linux make -j$(nproc) LLAMA_VULKAN=1 LLAMA_CLBLAST=1 LLAMA_HIPBLAS=1 LLAMA_PORTABLE=1 LLAMA_USE_BUNDLED_GLSLC=1 LLAMA_ADD_CONDA_PATHS=1 $LLAMA_NOAVX2_FLAG $ARCHES_FLAG $ALLOW_WMMA_FLAG else - bin/micromamba run -r conda -p conda/envs/linux make -j$(nproc) LLAMA_VULKAN=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_USE_BUNDLED_GLSLC=1 LLAMA_ADD_CONDA_PATHS=1 $LLAMA_NOAVX2_FLAG $ARCHES_FLAG $NO_WMMA_FLAG + bin/micromamba run -r conda -p conda/envs/linux make -j$(nproc) LLAMA_VULKAN=1 LLAMA_CLBLAST=1 LLAMA_CUBLAS=1 LLAMA_PORTABLE=1 LLAMA_USE_BUNDLED_GLSLC=1 LLAMA_ADD_CONDA_PATHS=1 $LLAMA_NOAVX2_FLAG $ARCHES_FLAG $ALLOW_WMMA_FLAG fi if [ $? -ne 0 ]; then