From ccd56a9c5b93bfcf3bfd4507c9b0ab5b61ccbc09 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 11 Nov 2022 17:58:51 +0200 Subject: [PATCH 1/4] minor : fix double float32 conversion in python script --- models/convert-pt-to-ggml.py | 1 - 1 file changed, 1 deletion(-) diff --git a/models/convert-pt-to-ggml.py b/models/convert-pt-to-ggml.py index 04792d7..b8ad3c5 100644 --- a/models/convert-pt-to-ggml.py +++ b/models/convert-pt-to-ggml.py @@ -298,7 +298,6 @@ for name in list_vars.keys(): name == "encoder.positional_embedding" or \ name == "decoder.positional_embedding": ftype = 0 - data = data.astype(np.float32) print(" Converting to float32") data = data.astype(np.float32) ftype = 0 From 46a68fb9b5b19e322b2c7ee21550481798f0061c Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 11 Nov 2022 18:02:58 +0200 Subject: [PATCH 2/4] minor : remove one more redundant line --- models/convert-pt-to-ggml.py | 1 - 1 file changed, 1 deletion(-) diff --git a/models/convert-pt-to-ggml.py b/models/convert-pt-to-ggml.py index b8ad3c5..83fcd37 100644 --- a/models/convert-pt-to-ggml.py +++ b/models/convert-pt-to-ggml.py @@ -297,7 +297,6 @@ for name in list_vars.keys(): name == "encoder.conv2.bias" or \ name == "encoder.positional_embedding" or \ name == "decoder.positional_embedding": - ftype = 0 print(" Converting to float32") data = data.astype(np.float32) ftype = 0 From a728be9cdb993b7a5bb9a842a6b1403d5d03462c Mon Sep 17 00:00:00 2001 From: Chidi Williams Date: Fri, 11 Nov 2022 16:10:01 +0000 Subject: [PATCH 3/4] Add WHISPER_NO_AVX and WHISPER_NO_AVX2 to CMakeLists (#136) * Check for AVX and AVX2 on Darwin * Add AVX options to CMakeLists --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38e4cd7..301143d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,8 @@ option(WHISPER_SUPPORT_SDL2 "whisper: support for libSDL2" OFF) if (APPLE) option(WHISPER_NO_ACCELERATE "whisper: disable Accelerate framework" OFF) + option(WHISPER_NO_AVX "whisper: disable AVX" OFF) + option(WHISPER_NO_AVX2 "whisper: disable AVX2" OFF) else() option(WHISPER_SUPPORT_OPENBLAS "whisper: support for OpenBLAS" OFF) endif() @@ -151,7 +153,13 @@ else() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread -msimd128") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") else() - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx -mavx2 -mfma -mf16c") + if(NOT WHISPER_NO_AVX) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx") + endif() + if(NOT WHISPER_NO_AVX2) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mavx2") + endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfma -mf16c") endif() endif() endif() From 41b48ab7f1a0a1f0acd4784f1eec534a235e960f Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sun, 13 Nov 2022 09:08:33 +0200 Subject: [PATCH 4/4] make : add libwhisper.so target (#144) --- Makefile | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index fb98dcd..463864f 100644 --- a/Makefile +++ b/Makefile @@ -89,14 +89,12 @@ ifneq ($(filter armv8%,$(UNAME_M)),) CFLAGS += -mfp16-format=ieee -mno-unaligned-access endif +default: main + # -# Build library + main +# Build library # -main: examples/main/main.cpp ggml.o whisper.o - $(CXX) $(CXXFLAGS) examples/main/main.cpp whisper.o ggml.o -o main $(LDFLAGS) - ./main -h - ggml.o: ggml.c ggml.h $(CC) $(CFLAGS) -c ggml.c -o ggml.o @@ -106,8 +104,11 @@ whisper.o: whisper.cpp whisper.h libwhisper.a: ggml.o whisper.o $(AR) rcs libwhisper.a ggml.o whisper.o +libwhisper.so: ggml.o whisper.o + $(CXX) $(CXXFLAGS) -shared -o libwhisper.so ggml.o whisper.o $(LDFLAGS) + clean: - rm -f *.o main stream bench libwhisper.a + rm -f *.o main stream bench libwhisper.a libwhisper.so # # Examples @@ -115,6 +116,10 @@ clean: CC_SDL=`sdl2-config --cflags --libs` +main: examples/main/main.cpp ggml.o whisper.o + $(CXX) $(CXXFLAGS) examples/main/main.cpp ggml.o whisper.o -o main $(LDFLAGS) + ./main -h + stream: examples/stream/stream.cpp ggml.o whisper.o $(CXX) $(CXXFLAGS) examples/stream/stream.cpp ggml.o whisper.o -o stream $(CC_SDL) $(LDFLAGS)