mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-30 09:18:51 +00:00
794b162a46
* whisper : add integer quantization support * examples : add common-ggml + prepare to add "quantize" tool * whisper : quantization tool ready * whisper : fix F32 support * whisper : try to fix shared lib linkage * wasm : update quantized models to Q5 * bench.wasm : remove "medium" button * bench.wasm : fix custom model button * ggml : add Q5_0 and Q5_1 WASM SIMD * wasm : add quantized models to all WASM examples * wasm : bump DB version number to 2 * talk-llama : update example to latest llama.cpp * node : increase test timeout to 10s * readme : add information for model quantization * wasm : add links to other examples
50 lines
1.1 KiB
CMake
50 lines
1.1 KiB
CMake
#
|
|
# libmain
|
|
#
|
|
|
|
set(TARGET libmain)
|
|
|
|
add_executable(${TARGET}
|
|
emscripten.cpp
|
|
)
|
|
|
|
include(DefaultTargetOptions)
|
|
|
|
target_link_libraries(${TARGET} PRIVATE
|
|
whisper
|
|
)
|
|
|
|
unset(EXTRA_FLAGS)
|
|
|
|
if (WHISPER_WASM_SINGLE_FILE)
|
|
set(EXTRA_FLAGS "-s SINGLE_FILE=1")
|
|
message(STATUS "Embedding WASM inside main.js")
|
|
|
|
add_custom_command(
|
|
TARGET ${TARGET} POST_BUILD
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
${CMAKE_BINARY_DIR}/bin/libmain.js
|
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/whisper.wasm/main.js
|
|
)
|
|
endif()
|
|
|
|
set_target_properties(${TARGET} PROPERTIES LINK_FLAGS " \
|
|
--bind \
|
|
-s USE_PTHREADS=1 \
|
|
-s PTHREAD_POOL_SIZE_STRICT=0 \
|
|
-s INITIAL_MEMORY=2000MB \
|
|
-s TOTAL_MEMORY=2000MB \
|
|
-s FORCE_FILESYSTEM=1 \
|
|
-s EXPORTED_RUNTIME_METHODS=\"['print', 'printErr', 'ccall', 'cwrap']\" \
|
|
${EXTRA_FLAGS} \
|
|
")
|
|
|
|
#
|
|
# whisper.wasm
|
|
#
|
|
|
|
set(TARGET whisper.wasm)
|
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/index-tmpl.html ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}/index.html @ONLY)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/../helpers.js ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TARGET}/helpers.js @ONLY)
|