]> git.djapps.eu Git - pkg/ggml/sources/whisper.cpp/commitdiff
make : disable avx in case f16c is not available (#706)
authorduthils <redacted>
Fri, 14 Apr 2023 16:31:51 +0000 (12:31 -0400)
committerGitHub <redacted>
Fri, 14 Apr 2023 16:31:51 +0000 (19:31 +0300)
Why:

* ggml.c does not support AVX without F16C

Makefile

index 438e3f4fc46c81fcba634ff804eee981de636a91..9454b3a9b9c8526e7e61926a5490d292dd29a843 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -77,10 +77,6 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686))
                        CFLAGS += -mavx2
                endif
        else ifeq ($(UNAME_S),Linux)
-               AVX1_M := $(shell grep "avx " /proc/cpuinfo)
-               ifneq (,$(findstring avx,$(AVX1_M)))
-                       CFLAGS += -mavx
-               endif
                AVX2_M := $(shell grep "avx2 " /proc/cpuinfo)
                ifneq (,$(findstring avx2,$(AVX2_M)))
                        CFLAGS += -mavx2
@@ -92,16 +88,17 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686))
                F16C_M := $(shell grep "f16c " /proc/cpuinfo)
                ifneq (,$(findstring f16c,$(F16C_M)))
                        CFLAGS += -mf16c
+
+                       AVX1_M := $(shell grep "avx " /proc/cpuinfo)
+                       ifneq (,$(findstring avx,$(AVX1_M)))
+                               CFLAGS += -mavx
+                       endif
                endif
                SSE3_M := $(shell grep "sse3 " /proc/cpuinfo)
                ifneq (,$(findstring sse3,$(SSE3_M)))
                        CFLAGS += -msse3
                endif
        else ifeq ($(UNAME_S),Haiku)
-               AVX1_M := $(shell sysinfo -cpu | grep "AVX ")
-               ifneq (,$(findstring avx,$(AVX1_M)))
-                       CFLAGS += -mavx
-               endif
                AVX2_M := $(shell sysinfo -cpu | grep "AVX2 ")
                ifneq (,$(findstring avx2,$(AVX2_M)))
                        CFLAGS += -mavx2
@@ -113,6 +110,11 @@ ifeq ($(UNAME_M),$(filter $(UNAME_M),x86_64 i686))
                F16C_M := $(shell sysinfo -cpu | grep "F16C ")
                ifneq (,$(findstring f16c,$(F16C_M)))
                        CFLAGS += -mf16c
+
+                       AVX1_M := $(shell sysinfo -cpu | grep "AVX ")
+                       ifneq (,$(findstring avx,$(AVX1_M)))
+                               CFLAGS += -mavx
+                       endif
                endif
        else
                CFLAGS += -mfma -mf16c -mavx -mavx2