diff --git a/Makefile b/Makefile index 463864f0..9c7c59b4 100644 --- a/Makefile +++ b/Makefile @@ -50,8 +50,8 @@ endif # TODO: probably these flags need to be tweaked on some architectures # feel free to update the Makefile for your architecture and send a pull request or issue ifeq ($(UNAME_M),x86_64) - CFLAGS += -mfma -mf16c ifeq ($(UNAME_S),Darwin) + CFLAGS += -mfma -mf16c AVX1_M := $(shell sysctl machdep.cpu.features) ifneq (,$(findstring AVX1.0,$(AVX1_M))) CFLAGS += -mavx @@ -60,8 +60,26 @@ ifeq ($(UNAME_M),x86_64) ifneq (,$(findstring AVX2,$(AVX2_M))) CFLAGS += -mavx2 endif + endif + 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 + endif + FMA_M := $(shell grep "fma " /proc/cpuinfo) + ifneq (,$(findstring fma,$(FMA_M))) + CFLAGS += -mfma + endif + F16C_M := $(shell grep "f16c " /proc/cpuinfo) + ifneq (,$(findstring f16c,$(F16C_M))) + CFLAGS += -mf16c + endif else - CFLAGS += -mavx -mavx2 + CFLAGS += -mfma -mf16c -mavx -mavx2 endif endif ifeq ($(UNAME_M),amd64) @@ -74,6 +92,10 @@ ifndef WHISPER_NO_ACCELERATE LDFLAGS += -framework Accelerate endif endif +ifdef WHISPER_OPENBLAS + CFLAGS += -DGGML_USE_OPENBLAS -I/usr/local/include/openblas + LDFLAGS += -lopenblas +endif ifneq ($(filter aarch64%,$(UNAME_M)),) endif ifneq ($(filter armv6%,$(UNAME_M)),)